Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour j'ai un souci avec mon code php en page de contact il me dit "Function eregi() is deprecated à la ligne 23"
Voici mon code:
// On récupère les champs du formulaire, et on arrange leur mise en forme
if (isset($_POST["son_pseudo"])) $_POST["son_pseudo"]=trim(stripslashes($_POST["son_pseudo"])); // trim() enlève les espaces en début et fin de chaine
if (isset($_POST["son_email"])) $_POST["son_email"]=trim(stripslashes($_POST["son_email"])); // stripslashes() retire les backslashes ==> \' devient '
if (isset($_POST["son_url"])) $_POST["son_url"]=trim(stripslashes($_POST["son_url"]));
if (isset($_POST["son_objet"])) $_POST["son_objet"]=trim(stripslashes($_POST["son_objet"]));
if (isset($_POST["son_message"])) $_POST["son_message"]=trim(stripslashes($_POST["son_message"]));
// Après la mise en forme, on vérifie la validité des champs
if (empty($_POST["son_pseudo"])) { // L'utilisateur n'a pas rempli le champ pseudo
$erreur="Vous n'avez pas entré votre pseudo..."; // On met dans erreur le message qui sera affiché
}
elseif (empty($_POST["son_email"])) { // L'utilisateur n'a pas rempli le champ email
$erreur="Nous avons besoin de votre e-mail pour vous répondre...";
}
elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["son_email"])){ // On vérifie si l'email est bien de la forme messagerie@domaine.tld (cf cours d'expressions régulières)
$erreur="Votre adresse e-mail n'est pas valide...";
}
elseif (empty($_POST["son_objet"])) { // L'utilisateur n'a pas rempli le champ objet
$erreur="Vous devez entrer l'objet de votre message...";
}
elseif (empty($_POST["son_message"])) { // L'utilsateur n'a écrit aucun message
$erreur="Merci de saisir un message...";
}
else { // Si tous les champs sont valides, on change l'état à ok
$etat="ok";
}
}
else { // Sinon le formulaire n'a pas été soumis
$etat="attente"; // On passe donc dans l'état attente
}
if ($etat!="ok"){ // Le formulaire a été soumis mais il y a des erreurs (etat=erreur) OU le formulaire n'a pas été soumis (etat=attente)
if ($etat=="erreur"){ // Cas où le formulaire a été soumis mais il y a des erreurs
echo "<span style=\"color:red\">".$erreur."</span><br /><br />\n"; // On affiche le message correspondant à l'erreur
}
?>
<!-- Formulaire HTML qu'on affiche dans l'état attente ou erreur -->
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>"> <!-- Les données du formulaire seront récupérée avec la méthode POST, et action correspond à la page contenant le formulaire -->
<body>
<table >
<td>
<table width="736" height="204" border="0">
<?php echo" "?>
<td width="163" height="200"> <p style="text-align:left">
<label for="son_pseudo">Pseudo</label><br /> <!-- Intitulé du champ pseudo -->
<input type="text" size="19" name="son_pseudo" id="son_pseudo" value="<?php
if (!empty($_POST["son_pseudo"])) {
// le pseudo de l'expéditeur a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_pseudo"],ENT_QUOTES); // htmlspecialchars() convertit les caractères spéciaux en leurs code html, exemple : & devient &
}
?>" />
<br />
<label for="son_email">E-mail</label><br /> <!-- Intitulé du champ e-mail -->
<input type="text" size="19" name="son_email" id="son_email" value="<?php
if (!empty($_POST["son_email"])) {
// l'e-mail de l'expéditeur a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_email"],ENT_QUOTES);
}
?>" />
<br />
<label for="son_objet">Objet</label><br /> <!-- Intitulé du champ objet -->
<input type="text" size="19" name="son_objet" id="son_objet" value="<?php
if (!empty($_POST["son_objet"])) {
// l'objet du message a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_objet"],ENT_QUOTES);
}
?>"/> </td>
<td width="563"><br/><label for="son_message">Message</label><br /> <!-- Intitulé du champ message -->
<textarea name="son_message" id="son_message" cols="60
" rows="6"><?php
if (isset($_POST["son_message"])) {
// le message a été saisi --> le réafficher
echo htmlspecialchars($_POST["son_message"],ENT_QUOTES);
}
?>
</textarea>
<br />
<input type="submit" name="envoyer" value="Envoyer" /><input type="reset" name="reset" value="Effacer" />
</p>
</form></td>
</tr>
</table>
</td></tr>
</table>
<!-- FIN du formulaire HTML -->
<?php
}
else { // Sinon l'état est ok donc on envoie le mail
$son_pseudo = $_POST["son_pseudo"]; // On stocke les variables récupérées du formulaire
$son_email = $_POST["son_email"];
$son_url = $_POST["son_url"];
$son_objet = $_POST["son_objet"];
$son_message = $_POST["son_message"];
$mon_email = "exemple@hotmail.com"; // Mise en forme du message que vous recevrez
$mon_pseudo = "osef";
$mon_url = "http://domaine@exemple.com/";
$msg_pour_moi = "- Son pseudo : $son_pseudo \n
- Son E-mail : $son_email \n
- Son site : $son_url \n
- Objet du message : $son_objet \n
- Message : \n $son_message \n\n";
// Mise en forme de l'accusé réception qu'il recevra
$accuse_pour_lui = "Bonjour $son_pseudo,\n
Votre message nous a bien été envoyé et nous tâcherons de vous répondre le plus rapidement possible.\n\n
- Votre E-mail : $son_email \n
- Votre site : $son_url \n
- L'objet de votre message : $son_objet \n
- Votre message : \n $son_message \n\n
Merci et à bientôt sur ";
// Envoie du mail
$entete = "From: " . $mon_pseudo . " <" . $mon_email . ">\n"; // On prépare l'entête du message
$entete .= "MIME-Version: 1.0";
if (@mail($mon_email,$son_objet,$msg_pour_moi,$entete) && @mail($son_email,$son_objet,$accuse_pour_lui,$entete)){ // Si le mail a été envoyé
echo "<p style=\"text-align:center\">Votre message a été envoyé, vous recevrez une confirmation par mail.<br /><br />\n"; // On affiche un message de confirmation
echo "<a href=\"" . $mon_url . "\">Retour</a></p>\n"; // Avec un lien de retour vers l'accueil du site
}
else { // Sinon il y a eu une erreur lors de l'envoi
echo "<p style=\"text-align:center\">Un problème s'est produit lors de l'envoi du message.\n";
echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a></p>\n"; // On propose un lien de retour vers le formulaire
}
}
?>
Hors ligne
Salut,
Suivant la documentation :
Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.
et
À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type E_DEPRECATED.
Il n'y a plus qu'a ...
A++
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
merci
Hors ligne
Pages :: 1