PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 08-10-2011 14:41:59

Xolo
Membre
Inscription : 08-10-2011
Messages : 4

Deprecated: Function ereg() is deprecated in ...

Bonjour,
Je suis débutant en php, et j'ai un message d'erreur dont je n'arrive pas à me débarrasser : Deprecated: Function ereg() is deprecated in... on line 43

Voici cette ligne 43 :

$f_2)){

Et la partie du script où se trouve la ligne 43 (ici ligne 42):

<?php
// Rajout pour masquer erreur Undefined variable
error_reporting(E_ALL ^ E_NOTICE);
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#FF0000";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#cccccc";
// Ne rien modifier ci-dessous si vous n’êtes pas certain de ce que vous faites !
$list['f_3']=array("Sélectionnez","Renseignement matériels"," Renseignement réservation"," Autre");
$f_1 ='';
$f_2 ='';
$f_3 ='';
$f_4 ='';
if(isset($_POST['submit'])){
    $erreur="";
    // Nettoyage des entrées
    while(list($var,$val)=each($_POST)){
    if(!is_array($val)){
        $$var=strip_tags($val);
    }else{
        while(list($arvar,$arval)=each($val)){
                $$var[$arvar]=strip_tags($arval);
            }
        }
    }
    // Formatage des entrées
    $f_1=trim(ucwords(preg_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1)));
    $f_2=strip_tags(trim($f_2));
    // Verification des champs
    if(strlen($f_1)<2){
        $erreur.="<p><span class='txterror'>Le champ « Nom et Prénom » est vide.</span>";
        $errf_1=1;
    }
    if(strlen($f_2)<2){
        $erreur.="<p><span class='txterror'>Le champ « Votre e-mail » est vide ou incomplet.</span>";
        $errf_2=1;
    }else{
        if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
        '@'.
       '[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
        '[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
        $f_2)){
        $erreur.="<p><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
        $errf_2=1;
        }
     
     
    }
    if($f_3==0){
        $erreur.="<p><span class='txterror'>Le champ « Sujet » n'a pas été défini.</span>";
        $errf_3=1;
    }
    if(strlen($f_4)<2){
        $erreur.="<p><span class='txterror'>Le champ « Votre message » est vide.</span>";
        $errf_4=1;
    }
    if($erreur==""){
        // Création du message
        $titre="Contact La Godille";
        $tete="From:Site@Lagodilledetignes.com\n";
        $corps.="Nom et Prénom : ".$f_1."\n";
        $corps.="Votre e-mail : ".$f_2."\n";
        $corps.="Sujet : ".$list['f_3'][$f_3]."\n";
        $corps.="Votre message : ".$f_4."\n";
        if(mail("xxxxx@xxxx.fr", $titre, stripslashes($corps), $tete)){
            $ok_mail="true";
        }else{
            $erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
        }
    }
}
?>

Et là je sèche !!!
Merci pour votre aide smile

Hors ligne

#2 08-10-2011 16:06:10

nicolas
Membre
Inscription : 11-11-2009
Messages : 69
Site Web

Re : Deprecated: Function ereg() is deprecated in ...

Tu remplaces ta ligne par

if (!preg_match('/^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$/', $f_2)

Sans prévaloir sur le fait que l'expression régulière soit correcte.

Hors ligne

#3 08-10-2011 17:41:30

Xolo
Membre
Inscription : 08-10-2011
Messages : 4

Re : Deprecated: Function ereg() is deprecated in ...

Merci nicolas, j'ai modifié la ligne en question, mais maintenant quand je valide le formulaire pour envoyer le mail, je me retrouve avec le message suivant : Warning: preg_match() [function.preg-match]: Unknown modifier '0' in /homez.398/lagodill/www/contact.php on line 40
Forcement le message n'est pas envoyé et apparemment la syntaxe le l'adresse mail du client n'est pas reconnu ?? roll

Hors ligne

#4 08-10-2011 19:59:48

nicolas
Membre
Inscription : 11-11-2009
Messages : 69
Site Web

Re : Deprecated: Function ereg() is deprecated in ...

if (!preg_match('`^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$`', $f_2)

Hors ligne

Pied de page des forums