Voici le message que j'ai sur un vieux script que j'employais il y a 10ans... A ce temps là il fonctionnais bien lol
J'ai déjà cherché un peu sur le net... Je sais que cette erreur est due a la mise a jour de php mais n'étant pas du tout du domaine je ne sais pas comment régler ce problème par une autre façon que de demander de l'aide... Car j'y connais pas grand chose au Php en vérité.
C'est un script de recommandation de site par mail...
Voilà l'erreur...
Deprecated: Function get_magic_quotes_gpc()
Je vais d'ailleurs coller tout le script ainsi peut-etre que ce serra plus facile pour vous pour savoir m'aider ou me dire quoi changer exactement pour qu'il refonctionne avec le php de maintenant...Voici la page recommandation.php
<?php
ini_set( 'display_errors', true );
error_reporting( E_ALL );
// Configuration basique du script
// ETAPE 1 : renseignez les valeurs ci-dessous
$subject = "Recommandation d'un site"; // sujet de l'email
$url_site = 'www.'; // L'adresse de votre site
$sitename = "Nom de votre site"; // nom de votre site
$recevoir_copie = 'oui'; // si 'oui', vous recevrez une copie de chaque mail de recommandation
$mon_mail = 'Votre email'; // votre email pour recevoir les copies
// ETAPE 2 : renseignez le chemin relatif vers le fichier antispam.php
require_once('recommandation_antispam.php'); // pour définir les questions et les réponses
// C'EST TOUT :-)
// Rec récupère un message textuel
function Rec($text)
{
$text = htmlspecialchars(trim($text), ENT_QUOTES);
if (1 === get_magic_quotes_gpc())
{
$text = stripslashes($text);
}
$text = nl2br($text);
return $text;
};
// IsEmail vérifie la syntaxe d'un email
function IsEmail($email)
{
$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
return (($value === 0) || ($value === false)) ? false : true;
}
// Envoie le mail
function SendRecommandMail($recipient, $subject, $message, $exp_nom, $exp_mail)
{
$headers = 'From:'.$exp_nom.' <'.$exp_mail.'>' . "\r\n";
$headers .= 'Reply-To: '.$exp_mail. "\r\n";
$message = html_entity_decode($message);
$message = str_replace(''',"'",$message);
$message = str_replace('’',"'",$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
return mail($recipient,$subject,$message,$headers);
};
// récuperation des variables
$origine_nom = (isset($_POST['origine_nom'])) ? Rec($_POST['origine_nom']) : '';
$origine_email = (isset($_POST['origine_email'])) ? Rec($_POST['origine_email']) : '';
$desti_nom = (isset($_POST['desti_nom'])) ? Rec($_POST['desti_nom']) : '';
$desti_email = (isset($_POST['desti_email'])) ? Rec($_POST['desti_email']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
$errform = false;
// n'oublions pas les 2 variables du captcha :
$code = (isset($_POST['code'])) ? strtolower(Rec($_POST['code'])) : ''; // contient la réponse du visiteur
$nospam_question = (isset($_POST['nospam_question'])) ? $_POST['nospam_question'] : ''; // contient un nombre : le numéro de la vraie réponse
if (isset($_POST['submit'])) // formulaire validé, on le traite
{
// Vérification des emails
$origine_email = (IsEmail($origine_email)) ? $origine_email : '';
$desti_email = (IsEmail($desti_email)) ? $desti_email : '';
// On demande la vraie réponse
$verif_spam = NoSpamQuestion('ans', $nospam_question);
// on compare la 'vraie' réponse et celle du visiteur
if ($code != strtolower($verif_spam['answer']))
{
?><p class='attention'><?php
// le formulaire s'arrête ici
echo 'Vous n\'avez pas répondu correctement à la question Anti-Spam...<br />Votre message n\'a donc pas été envoyé, merci de réessayer.</p>'."\n";
}
else // code OK : c'est un humain
{
// valeurs obligatoires : mail de l'expéditeur, mail du destinataire.
if (($origine_email != '') && ($desti_email != ''))
{
// les 2 emails sont remplis ... On peut envoyer ce qu'il faut !
$final_message = 'Bonjour';
// Ajout du nom du destinataire si existant :
$final_message .= ($desti_nom != '') ? ' '.$desti_nom : '';
// Ajout du nom de l'expéditeur si existant
$final_message .= ($origine_nom != '') ? "\n".$origine_nom : "\nUn visiteur";
// message générique
$final_message .= ' voudrait vous recommander ce site : '.$url_site;
// Ajout du message personnalisé si existant
if ($message != '')
{
$final_message .= "\n\n-------------------------\nIl (Elle) a ajouté le message suivant :\n".nl2br(stripslashes($message));
}
// Fin du contenu du mail
$final_message .= "\nA bientôt sur ".$url_site."\nL'équipe ".$sitename.".";
// Envoi du message
$exp_nom = $sitename;
$exp_mail = $origine_email;
if ($origine_nom != '')
{
$exp_nom = $origine_nom.' (depuis '.$sitename.')';
};
if ($recevoir_copie == 'oui')
$destinataires = $desti_email.','.$mon_mail;
else
$destinataires = $desti_email;
if (SendRecommandMail($destinataires, $subject, $final_message, $exp_nom, $exp_mail))
{
?><p class='attention'><?php
echo 'Votre message est bien parti, merci d\'avoir recommandé notre site !</p>'."\n";
}
else
{
?><p class='attention'><?php
echo 'Votre message n\'a pu être envoyé : il y a une erreur au niveau du serveur de mail. Veuillez nous excuser et réessayer sous peu.</p>'."\n";
};
echo '<p style="text-align:center;"></p>'."\n";
}
else
{
$errform = true;
};
};
};
if ($errform)
{
?><p class='attention'><?php
echo 'Erreur constatée dans le formulaire... Vérifiez que vous avez bien mis un seul email de destination et que le vôtre soit correctement écrit.</p>';
};
$tabindex = 1;
if ((!isset($_POST['submit'])) || ($errform)) // formulaire non validé ou avec une erreur
{
// on tire au sort une question
$nospam = NoSpamQuestion();
echo '<form id="recommander" method="post" action="">'."\n";
echo ' <fieldset><legend>A propos de vous ...</legend>'."\n";
echo ' <p><label for="origine_nom">Votre nom :</label><input type="text" id="origine_nom" name="origine_nom" value="'.$origine_nom.'" tabindex="'.$tabindex.'" /></p>'."\n"; $tabindex++;
echo ' <p><label for="origine_email">Votre email* :</label><input type="text" id="origine_email" name="origine_email" value="@"'.$origine_email.'" tabindex="'.$tabindex.'" /></p>'."\n"; $tabindex++;
echo ' </fieldset>'."\n";
echo ' <fieldset><legend>Envoyer à ...</legend>'."\n";
echo ' <p><label for="desti_nom">Nom du destinataire :</label><input type="text" id="desti_nom" name="desti_nom" value="'.$desti_nom.'" tabindex="'.$tabindex.'" /></p>'."\n"; $tabindex++;
echo ' <p><label for="desti_email">Email du destinataire* :</label><input type="text" id="desti_email" name="desti_email" value="@"'.$desti_email.'" tabindex="'.$tabindex.'" /></p>'."\n"; $tabindex++;
echo ' </fieldset>'."\n";
echo ' <fieldset><legend>Message + Contrôle Anti-Spam</legend>'."\n";
echo ' <p><label for="message">Votre message :</label><textarea id="message" cols="30" rows="8" name="message" tabindex="'.$tabindex.'">'.$message.'</textarea></p>'."\n"; $tabindex++;
echo ' <p><label for="code">Calcul Anti-Spam* : '.$nospam['question'].'?</label><input type="text" name="code" id="code" /><input type="hidden" name="nospam_question" value="'.$nospam['num'].'" /></p>'."\n";
echo ' </fieldset>'."\n";
echo ' <div style="text-align:center;"><input type="submit" name="submit" value="Envoyer mon mail !" /></div>'."\n";
echo '</form>'."\n";
echo '<p style="font-style:italic;">* Les champs marqués d\'une astérisque sont obligatoires.</p>'."\n";
};
?>
</div>
Voici la page : recommandation_antispam.php<?php
/*
* NoSpamQuestion affiche une question pour la validation d'un formulaire ...
* $mode, mode question ou réponse par défaut tirage au sort de question {string}
* $answer, lors de la demande d'une réponse à la question numero tant ... {int}
*
* @returns array
*
* Ajouter une question :
* copier/coller ces lignes et remplir le contenu entre guillemets doubles :
*
* $array_pictures[$j]['num'] = $j; // ne pas changer cette ligne
* $array_pictures[$j]['question'] = "mettre ici la question (correspondant à l'image si vous utilisez une image)";
* $array_pictures[$j]['answer'] = "mettre ici la réponse à l'énigme";
* $j++; // ne pas oublier cette ligne dans la copie :-)
*
* C'est tout. Question suivante ? :-)
*
*/
function NoSpamQuestion($mode = 'ask', $answer = 0)
{
$array_pictures = array(); $j = 0;
$array_pictures[$j]['num'] = $j;
$array_pictures[$j]['question'] = "1 + 3 ...";
$array_pictures[$j]['answer'] = "QUATRE";
$j++;
$array_pictures[$j]['num'] = $j;
$array_pictures[$j]['question'] = "8 x 2 ...";
$array_pictures[$j]['answer'] = "SEIZE";
$j++;
if ($mode != 'ans')
{
// on est en mode 'tirer au sort', on tire une image aléatoire
$lambda = rand(0, count($array_pictures)-1);
return $array_pictures[$lambda];
}
else
{
// on demande une vraie réponse
foreach($array_pictures as $i => $array)
{
if ($i == $answer)
{
return $array;
break;
};
};
}; // Fin if ($mode != 'ans')
};
?>
Merci à vous, vraiment pour votre aideFred