Problème version d'un script PHP
Posté : 23 août 2015, 22:06
Bonsoir,
j'utilise un script pour un formulaire de contact par PHP.
Mon soucis est qu'il ne semble plus compatible avec des fonctions supprimés depuis PHP 5.3.
J'ai bien essayé de lister les soucis, mais je ne sais pas par quoi remplacer eregi par exemple...
Pourriez-vous me donner un petit coup de main ?
Merci par avance.
Voici mon code :
j'utilise un script pour un formulaire de contact par PHP.
Mon soucis est qu'il ne semble plus compatible avec des fonctions supprimés depuis PHP 5.3.
J'ai bien essayé de lister les soucis, mais je ne sais pas par quoi remplacer eregi par exemple...
Pourriez-vous me donner un petit coup de main ?
Merci par avance.
Voici mon code :
Code : Tout sélectionner
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = '[email protected]';
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<script language="javascript" type="text/javascript">
<!--
window.location.replace("./index.php?contact=1");
-->
</script>';
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if(md5($_POST['verifCode']) == $_POST['verif2']) { // si le formulaire vient d'être soumis et que le Captcha est vérifié alors
if (($service != '') &&($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = $service.' '.$message;
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<script language="javascript" type="text/javascript">
<!--
window.location.replace("h./index.php?contact=1");
-->
</script>';
}
else
{
echo '<script language="javascript" type="text/javascript">
<!--
window.location.replace("./index.php?contact=1");
-->
</script>';
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<script language="javascript" type="text/javascript">
<!--
window.location.replace("./index.php?contact=1");
-->
</script>';
};
}; // fin du if (!isset($_POST['envoi']))
};
?>