Résolu J'ai une erreur dans mon code

Statut
N'est pas ouverte pour d'autres réponses.

zaeekBest

Banni
Inscription
6 Juillet 2014
Messages
293
Réactions
41
Points
2 446
RGCoins
0
bonjour , j'ai cette erreur , quelqu'un peux m'aider ?
"Fatal error: Call to undefined function mail_erreur_invalid() in /home/ah48199/web/www/ipn.php on line 56'"


Code:
 <?php include('db.php'); ?>
<?php
session_start();
 
 
//Notification instantané de paiment NIP
// lire la publication du système PayPal et ajouter 'cmd'
$req = 'cmd=_notify-validate';
 
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
 
// renvoyer au système PayPal pour validation
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);
 
// affecter les variables publiées aux variables locales
$item_number = $_POST['item_number'];
$txn_id = $_POST['txn_id'];
$num_cart_items = $_POST['num_cart_items'];
$custom = $_POST['custom'];
 
if (!$fp) {
// ERREUR HTTP
mail_erreur_http($txn_id,$mail);
 
} else {
 
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
 
 
 
if (strcmp ($res, "VERIFIED") == 0) {
$txn_id = $_POST['txn_id'];
$num_cart_items = $_POST['num_cart_items'];
$custom = $_POST['custom'];
 
 
 
for ($k=1; $k<=$num_cart_items;$k++){
$item_number = $_POST['item_number'.$k.''];
if(($item_number==1)||($item_number==2)||($item_number==6)||($item_number==12)){
//traitement de la tache
$pseudo = mysql_real_escape_string(htmlspecialchars($_SESSION['pseudo']));
                    $req4 = mysql_query('SELECT * FROM membres WHERE pseudo = "'.$pseudo.'"');
                    $info_membre = mysql_fetch_array($req4);
                    
                    $new_points = $info_membre['points'] + 5;
                    
                    mysql_query('UPDATE membres SET points = "'.$new_points.'" WHERE pseudo = "'.$pseudo.'"');
}}
}
 
 
else if (strcmp ($res, "INVALID") == 0) {
 
mail_erreur_invalid($txn_id,$mail);
}
}
fclose ($fp);
}
 
 
?>
 
Dans ton code, a la ligne 56 tu as ceci:
PHP:
mail_erreur_http($txn_id,$mail);

L'erreur vient du fait que tu appelle la fonction "mail_erreur_http" mais que tu ne l'a pas défini plus tôt dans ton code.

En php, tu peux créer des fonctions, mais ces fonctions, tu dois les definir.

Exemples de fonctions: Redirect(); Mail();

Le principe des fonctions c'est que tu peux en faire ce que tu veux

Tu peux même créer une fonction VerificationDeLaPommeDeTerre(); ^^

Si tu as cette erreur c'est que tu as sans doute bêtement copié/collé un code bêtement sans savoir l'utilisé c'est ça ? (d)
 
Dernière édition:
Dans ton code, a la ligne 56 tu as ceci:
PHP:
mail_erreur_http($txn_id,$mail);

L'erreur vient du fait que tu appelle la fonction "mail_erreur_http" mais que tu ne l'a pas défini plus tôt dans ton code.

En php, tu peux créer des fonctions, mais ces fonctions, tu dois les definir.

Exemples de fonctions: Redirect(); Mail();

Le principe des fonctions c'est que tu peux en faire ce que tu veux

Tu peux même créer une fonction VerificationDeLaPommeDeTerre(); ^^

Si tu as cette erreur c'est que tu as sans doute bêtement copié/collé un code bêtement sans savoir l'utilisé c'est ça ? (d)
j'ai suivis un tuto du point A a B et j'ai cette erreur sinon le code est bon , si tu peux m'aider ça serait pas mal
 
bonjour , j'ai cette erreur , quelqu'un peux m'aider ?
"Fatal error: Call to undefined function mail_erreur_invalid() in /home/ah48199/web/www/ipn.php on line 56'"


Code:
 <?php include('db.php'); ?>
<?php
session_start();


//Notification instantané de paiment NIP
// lire la publication du système PayPal et ajouter 'cmd'
$req = 'cmd=_notify-validate';

foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}

// renvoyer au système PayPal pour validation
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);

// affecter les variables publiées aux variables locales
$item_number = $_POST['item_number'];
$txn_id = $_POST['txn_id'];
$num_cart_items = $_POST['num_cart_items'];
$custom = $_POST['custom'];

if (!$fp) {
// ERREUR HTTP
mail_erreur_http($txn_id,$mail);

} else {

fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);



if (strcmp ($res, "VERIFIED") == 0) {
$txn_id = $_POST['txn_id'];
$num_cart_items = $_POST['num_cart_items'];
$custom = $_POST['custom'];



for ($k=1; $k<=$num_cart_items;$k++){
$item_number = $_POST['item_number'.$k.''];
if(($item_number==1)||($item_number==2)||($item_number==6)||($item_number==12)){
//traitement de la tache
$pseudo = mysql_real_escape_string(htmlspecialchars($_SESSION['pseudo']));
                    $req4 = mysql_query('SELECT * FROM membres WHERE pseudo = "'.$pseudo.'"');
                    $info_membre = mysql_fetch_array($req4);
                   
                    $new_points = $info_membre['points'] + 5;
                   
                    mysql_query('UPDATE membres SET points = "'.$new_points.'" WHERE pseudo = "'.$pseudo.'"');
}}
}


else if (strcmp ($res, "INVALID") == 0) {

mail_erreur_invalid($txn_id,$mail);
}
}
fclose ($fp);
}


?>

Supprime un } à la ligne 56 ;)
 
Fatal error: Call to undefined function mail_erreur_invalid() in /home/ah48199/web/www/ipn.php on line 63
ligne 63 = > mail_erreur_invalid($txn_id,$mail);

Essaye sa :

<?php include('db.php'); ?>
<?php
session_start();


//Notification instantané de paiment NIP
// lire la publication du système PayPal et ajouter 'cmd'
$req = 'cmd=_notify-validate';

foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}

// renvoyer au système PayPal pour validation
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen (' ', 80, $errno, $errstr, 30);

// affecter les variables publiées aux variables locales
$item_number = $_POST['item_number'];
$txn_id = $_POST['txn_id'];
$num_cart_items = $_POST['num_cart_items'];
$custom = $_POST['custom'];

if (!$fp) {
// ERREUR HTTP
mail_erreur_http($txn_id,$mail);

} else {

fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);



if (strcmp ($res, "VERIFIED") == 0) {
$txn_id = $_POST['txn_id'];
$num_cart_items = $_POST['num_cart_items'];
$custom = $_POST['custom'];



for ($k=1; $k<=$num_cart_items;$k++){
$item_number = $_POST['item_number'.$k.''];
if(($item_number==1)||($item_number==2)||($item_number==6)||($item_number==12)){
//traitement de la tache
$pseudo = mysql_real_escape_string(htmlspecialchars($_SESSION['pseudo']));
$req4 = mysql_query('SELECT * FROM membres WHERE pseudo = "'.$pseudo.'"');
$info_membre = mysql_fetch_array($req4);

$new_points = $info_membre['points'] + 5;

mysql_query("UPDATE membres SET points = ''.$new_points.'' WHERE pseudo = ''.$pseudo.''");
}}
}


else if (strcmp ($res, "INVALID") == 0) {

mail_erreur_invalid($txn_id,$mail);
}
}
fclose ($fp);
}


?>
 
Essaie ton script avec ça:

Code:
<?php
include('db.php');
session_start();


//Notification instantané de paiment NIP
// lire la publication du système PayPal et ajouter 'cmd'
$req = 'cmd=_notify-validate';

foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}

// renvoyer au système PayPal pour validation
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);

// affecter les variables publiées aux variables locales
$item_number = $_POST['item_number'];
$txn_id = $_POST['txn_id'];
$num_cart_items = $_POST['num_cart_items'];
$custom = $_POST['custom'];

if (!$fp) {
echo "Erreur HTTP";
} else {

fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);



if (strcmp ($res, "VERIFIED") == 0) {
$txn_id = $_POST['txn_id'];
$num_cart_items = $_POST['num_cart_items'];
$custom = $_POST['custom'];



for ($k=1; $k<=$num_cart_items;$k++){
$item_number = $_POST['item_number'.$k.''];
if(($item_number==1)||($item_number==2)||($item_number==6)||($item_number==12)){
//traitement de la tache
$pseudo = mysql_real_escape_string(htmlspecialchars($_SESSION['pseudo']));
$req4 = mysql_query('SELECT * FROM membres WHERE pseudo = "'.$pseudo.'"');
$info_membre = mysql_fetch_array($req4);

$new_points = $info_membre['points'] + 5;

mysql_query('UPDATE membres SET points = "'.$new_points.'" WHERE pseudo = "'.$pseudo.'"');
}}
}


else if (strcmp ($res, "INVALID") == 0) {

mail_erreur_invalid($txn_id,$mail);
}
}
fclose ($fp);
}


?>

En principe ça devrait marcher :mmh:
(J'ai supprimé la ligne de la fonction qui n'existe pas pour la remplacer par un echo Erreur HTTP)
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut