IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi de mail : erreur eregi [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Par défaut Envoi de mail : erreur eregi
    Bonjour
    dans mon script d'envoi mail,
    j'ai une erreur qui s'affiche sur mon site : avec EREGi
    hébergement sur Pro OVH (htaccess :déclaration php 5.3)

    Je reçois bien les mails :
    mais en front j'ai
    Deprecated: Function eregi() is deprecated in /homez.579/cent/www/j/j/functions.php on line 508

    Une erreur est survenue lors de l'envoi du formulaire :
    === if(!eregi est une expression qui demande à être remplacée
    selon le manuel PHP ===


    j'ai essayé ===
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //if(!preg_match("^[/COLOR][/B]((([a-z]|
    == mais cela ne marche pas !
    quelqu'un peut-il m'aider à y voir clair ?

    Merci
    PAGE MAIL FUNCTIONS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    function check_mail($string, $return = FALSE) {
    	if($return == TRUE) {
    	  if(eregi("((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.(af|ax|al|dz|as|ad|ao|ai|aq|ag|ar|am|aw|au|at|az|bs|bh|bd|bb|by|be|bz|bj|bm|bt|bo|ba|bw|bv|br|io|bn|bg|bf|bi|kh|cm|ca|cv|ky|cf|td|cl|cn|cx|cc|co|km|cg|cd|ck|cr|ci|hr|cu|cy|cz|dk|dj|dm|do|ec|eg|sv|gq|er|ee|et|fk|fo|fj|fi|fr|gf|pf|tf|ga|gm|ge|de|gh|gi|gr|gl|gd|gp|gu|gt| gg|gn|gw|gy|ht|hm|va|hn|hk|hu|is|in|id|ir|iq|ie|im|il|it|jm|jp|je|jo|kz|ke|ki|kp|kr|kw|kg|la|lv|lb|ls|lr|ly|li|lt|lu|mo|mk|mg|mw|my|mv|ml|mt|mh|mq|mr|mu|yt|mx|fm|md|mc|mn|ms|ma|mz|mm|na|nr|np|nl|an|nc|nz|ni|ne|ng|nu|nf|mp|no|om|pk|pw|ps|pa|pg|py|pe|ph|pn|pl|pt|pr|qa|re|ro|ru|rw|sh|kn|lc|pm|vc|ws|sm|st|sa|sn|cs|sc|sl|sg|sk|si|sb|so|za|gs|es|lk|sd|sr|sj|sz|se|ch|sy|tw|tj|tz|th|tl|tg|tk|to|tt|tn|tr|tm|tc|tv|ug|ua|ae|gb|us|um|uy|uz|vu|ve|vn|vg|vi|wf|eh|ye|zm|zw|com|edu|gov|int|mil|net|org|biz|info|name|pro|aero|coop|museum|arpa|uk|eu))|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))", $string, $match)) return $match;
    		else return false;
    	}
    	  if(eregi("^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.(af|ax|al|dz|as|ad|ao|ai|aq|ag|ar|am|aw|au|at|az|bs|bh|bd|bb|by|be|bz|bj|bm|bt|bo|ba|bw|bv|br|io|bn|bg|bf|bi|kh|cm|ca|cv|ky|cf|td|cl|cn|cx|cc|co|km|cg|cd|ck|cr|ci|hr|cu|cy|cz|dk|dj|dm|do|ec|eg|sv|gq|er|ee|et|fk|fo|fj|fi|fr|gf|pf|tf|ga|gm|ge|de|gh|gi|gr|gl|gd|gp|gu|gt| gg|gn|gw|gy|ht|hm|va|hn|hk|hu|is|in|id|ir|iq|ie|im|il|it|jm|jp|je|jo|kz|ke|ki|kp|kr|kw|kg|la|lv|lb|ls|lr|ly|li|lt|lu|mo|mk|mg|mw|my|mv|ml|mt|mh|mq|mr|mu|yt|mx|fm|md|mc|mn|ms|ma|mz|mm|na|nr|np|nl|an|nc|nz|ni|ne|ng|nu|nf|mp|no|om|pk|pw|ps|pa|pg|py|pe|ph|pn|pl|pt|pr|qa|re|ro|ru|rw|sh|kn|lc|pm|vc|ws|sm|st|sa|sn|cs|sc|sl|sg|sk|si|sb|so|za|gs|es|lk|sd|sr|sj|sz|se|ch|sy|tw|tj|tz|th|tl|tg|tk|to|tt|tn|tr|tm|tc|tv|ug|ua|ae|gb|us|um|uy|uz|vu|ve|vn|vg|vi|wf|eh|ye|zm|zw|com|edu|gov|int|mil|net|org|biz|info|name|pro|aero|coop|museum|arpa|uk|eu))|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$", $string)) return true;
    	else return false; // décommentée 2 fois
    }
    
    function send_mail($user = 0, $subject, $message) {
      global $cfg, $database;
      $mail = new htmlMimeMail5();
      //on envoie le mail 
      $mail->setSubject('J\'dea : '.$subject);
      if($user === 0) $to = 'J\'dea <'.$cfg['contact_mail'].'>';
      elseif(!is_numeric($user)) {
    	if(!check_mail($user)) throw new Exception('Adresse e-mail incorrecte');
    	$to = $user;
      }
      else {
    	//récupération de l'utilisateur
    	$get_user_query = "SELECT aff_id, aff_name, aff_mail FROM ".$cfg['db_prefix']."affilies WHERE aff_id = ".$database->quote($user)." LIMIT 1";
    	$get_user = $database->query($get_user_query)->fetch();
    	if($get_user['aff_id'] != $user) throw new Exception('Utilisateur introuvable.');
    	$to = $get_user['aff_name'].' <'.$get_user['aff_mail'].'>';
      }
      //echo 'TEST : '.$to."<br />\n"; $mail->setFrom('J\'dea <contact@alv.fr>'); // A CHANGER;
      $mail->setFrom('J <j@gmail.com>'); // A CHANGER;
      $mail->setText("Bonjour.\n".$message."\n\nCordialement, l'équipe .");
      if(!$mail->send(array($to))) throw new Exception('Erreur lors de l\'envoi du message.');
      throw new Exception('Votre email est parti. Nous vous recontacterons. J\'dea');
      /*var_dump($mail); 
      die();*/
        //throw new Exception('Espérons que le mail est parti.');
      var_dump($mail);// REMIS 
      die();
      //var_dump($mail);
      //die();
    }

    PAGE CONTACT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    foreach($mess_erreur as $cid => $champ) {
    	if(empty($_POST[$champ]) && empty($_FILES[$champ])) array_push($erreurs, $cid);
    }
    if(count($erreurs) > 0) array_push($error_message, 'Veuillez remplir tous les champs requis.');
    // preg_match remplace eregi
    if(!ereg("^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.(af|ax|al|dz|as|ad|ao|ai|aq|ag|ar|am|aw|au|at|az|bs|bh|bd|bb|by|be|bz|bj|bm|bt|bo|ba|bw|bv|br|io|bn|bg|bf|bi|kh|cm|ca|cv|ky|cf|td|cl|cn|cx|cc|co|km|cg|cd|ck|cr|ci|hr|cu|cy|cz|dk|dj|dm|do|ec|eg|sv|gq|er|ee|et|fk|fo|fj|fi|fr|gf|pf|tf|ga|gm|ge|de|gh|gi|gr|gl|gd|gp|gu|gt| gg|gn|gw|gy|ht|hm|va|hn|hk|hu|is|in|id|ir|iq|ie|im|il|it|jm|jp|je|jo|kz|ke|ki|kp|kr|kw|kg|la|lv|lb|ls|lr|ly|li|lt|lu|mo|mk|mg|mw|my|mv|ml|mt|mh|mq|mr|mu|yt|mx|fm|md|mc|mn|ms|ma|mz|mm|na|nr|np|nl|an|nc|nz|ni|ne|ng|nu|nf|mp|no|om|pk|pw|ps|pa|pg|py|pe|ph|pn|pl|pt|pr|qa|re|ro|ru|rw|sh|kn|lc|pm|vc|ws|sm|st|sa|sn|cs|sc|sl|sg|sk|si|sb|so|za|gs|es|lk|sd|sr|sj|sz|se|ch|sy|tw|tj|tz|th|tl|tg|tk|to|tt|tn|tr|tm|tc|tv|ug|ua|ae|gb|us|um|uy|uz|vu|ve|vn|vg|vi|wf|eh|ye|zm|zw|com|edu|gov|int|mil|net|org|biz|info|name|pro|aero|coop|museum|arpa|uk))|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$", $_POST['email'])) 
    //if(!preg_match("^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.(af|ax|al|dz|as|ad|ao|ai|aq|ag|ar|am|aw|au|at|az|bs|bh|bd|bb|by|be|bz|bj|bm|bt|bo|ba|bw|bv|br|io|bn|bg|bf|bi|kh|cm|ca|cv|ky|cf|td|cl|cn|cx|cc|co|km|cg|cd|ck|cr|ci|hr|cu|cy|cz|dk|dj|dm|do|ec|eg|sv|gq|er|ee|et|fk|fo|fj|fi|fr|gf|pf|tf|ga|gm|ge|de|gh|gi|gr|gl|gd|gp|gu|gt| gg|gn|gw|gy|ht|hm|va|hn|hk|hu|is|in|id|ir|iq|ie|im|il|it|jm|jp|je|jo|kz|ke|ki|kp|kr|kw|kg|la|lv|lb|ls|lr|ly|li|lt|lu|mo|mk|mg|mw|my|mv|ml|mt|mh|mq|mr|mu|yt|mx|fm|md|mc|mn|ms|ma|mz|mm|na|nr|np|nl|an|nc|nz|ni|ne|ng|nu|nf|mp|no|om|pk|pw|ps|pa|pg|py|pe|ph|pn|pl|pt|pr|qa|re|ro|ru|rw|sh|kn|lc|pm|vc|ws|sm|st|sa|sn|cs|sc|sl|sg|sk|si|sb|so|za|gs|es|lk|sd|sr|sj|sz|se|ch|sy|tw|tj|tz|th|tl|tg|tk|to|tt|tn|tr|tm|tc|tv|ug|ua|ae|gb|us|um|uy|uz|vu|ve|vn|vg|vi|wf|eh|ye|zm|zw|com|edu|gov|int|mil|net|org|biz|info|name|pro|aero|coop|museum|arpa|uk))|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$", $_POST['email'])) 
    {
    	array_push($erreurs, 3);
    	array_push($error_message, 'Veuillez entrer une adresse e-mail valide.');
    }
    //vérification du fichier envoyé
    if(!isset($_FILES['cv']) || $_FILES['cv']['size'] == 0) {array_push($erreurs, 4); array_push($error_message, 'Veuillez sélectionner un fichier à envoyer.');}
    else {
    	if($_FILES['cv']['size'] > 1000000) {array_push($erreurs, 4); array_push($error_message, 'Le fichier envoyé est trop volumineux (maximum : 1mo).');}
    	$mimes = array('application/msword', 'application/pdf', 'application/vnd.oasis.opendocument.text', 'application/x-vnd.oasis.opendocument.text');
    	if(!in_array($_FILES['cv']['type'], $mimes)) {array_push($erreurs, 4); array_push($error_message, 'Le format du fichier n\'est pas autorisé (formats attendus : PDF, DOC, ODT).');}
    	}
    } else {
    	array_push($error_message, 'Veuillez remplir correctement les champs.');
    }
    if(count($error_message) == 0) {
            try {
    		//*$mail = new htmlMimeMail5(); REMIS A CHANGER
    		$mail = new htmlMimeMail5();
    		//on envoie le mail
    		$mail->setSubject('Envoi de candidature sur J\'dea : '.$_POST['sujet']);
    		$to = 'J\'dea <'.$cfg['admin_mail'].'>';

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Avec preg_match il faut un delimiteur en debut et en fin de chaine pour l'expression.
    La difficulté va être de trouver un caractère qui n'est pas présent dans ton expression monstrueuse.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Par défaut fonction
    Merci de ta réponse

    est ce que les délimiteurs du début sont correct si je remplace ereg par pregmatch ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il te faut par exemple
    ici # est le delimiteur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Par défaut délimiteur
    Super merçi de ton aide :
    j'ai remplacé

    if(eregi("^((([a-z]|[0-9]|

    par if(!preg_match("#((([a-z]

    j'ai remplacé '|' par #

    et j'ai cette erreur à nouveau : Warning: preg_match() [function.preg-match]: Unknown modifier '['

    sur cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    								if(!preg_match("#((([a-z]#[0-9]#!###$#%#&#'#\*#\+#\-#/#=#\?#\^#_#`#\{#\##\}#~)+(\.([a-z]#[0-9]#!###$#%#&#'#\*#\+#\-#/#=#\?#\^#_#`#\{#\##\}#~)+)*)@((((([a-z]#[0-9])([a-z]#[0-9]#\-){0,61}([a-z]#[0-9])\.))*([a-z]#[0-9])([a-z]#[0-9]#\-){0,61}([a-z]#[0-9])\.(af#ax#al#dz#as#ad#ao#ai#aq#ag#ar#am#aw#au#at#az#bs#bh#bd#bb#by#be#bz#bj#bm#bt#bo#ba#bw#bv#br#io#bn#bg#bf#bi#kh#cm#ca#cv#ky#cf#td#cl#cn#cx#cc#co#km#cg#cd#ck#cr#ci#hr#cu#cy#cz#dk#dj#dm#do#ec#eg#sv#gq#er#ee#et#fk#fo#fj#fi#fr#gf#pf#tf#ga#gm#ge#de#gh#gi#gr#gl#gd#gp#gu#gt# gg#gn#gw#gy#ht#hm#va#hn#hk#hu#is#in#id#ir#iq#ie#im#il#it#jm#jp#je#jo#kz#ke#ki#kp#kr#kw#kg#la#lv#lb#ls#lr#ly#li#lt#lu#mo#mk#mg#mw#my#mv#ml#mt#mh#mq#mr#mu#yt#mx#fm#md#mc#mn#ms#ma#mz#mm#na#nr#np#nl#an#nc#nz#ni#ne#ng#nu#nf#mp#no#om#pk#pw#ps#pa#pg#py#pe#ph#pn#pl#pt#pr#qa#re#ro#ru#rw#sh#kn#lc#pm#vc#ws#sm#st#sa#sn#cs#sc#sl#sg#sk#si#sb#so#za#gs#es#lk#sd#sr#sj#sz#se#ch#sy#tw#tj#tz#th#tl#tg#tk#to#tt#tn#tr#tm#tc#tv#ug#ua#ae#gb#us#um#uy#uz#vu#ve#vn#vg#vi#wf#eh#ye#zm#zw#com#edu#gov#int#mil#net#org#biz#info#name#pro#aero#coop#museum#arpa#uk))#(((([0-9]){1,3}\.){3}([0-9]){1,3}))#(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$", $_POST['email'])) 
     
     
    								 '['
    Je n'arrive pas à repérer ce qui cloche :
    ca se passe où.

    Merci de ton aide

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    vu ton pattern, je n'aurais pas mis # comme délimiteur.
    sabotage t'as montré juste un exemple...
    Réessaies avec un délimiteur plus exotique (que t'as moins de chance de retrouver dans ton pattern), le tilde : ~

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. envoi de mail+ erreur smtp
    Par ballantine's dans le forum Langage
    Réponses: 2
    Dernier message: 08/04/2010, 14h07
  2. Envoi de mail : Erreur inexplicable
    Par kmaniche dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/11/2009, 14h48
  3. Réponses: 1
    Dernier message: 20/05/2008, 13h42
  4. envoi de mail : Erreur d'exécution '2293'
    Par sebinator dans le forum VBA Access
    Réponses: 4
    Dernier message: 29/02/2008, 09h10
  5. Envoi de mail erreur relais
    Par Antichoc dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 05/01/2008, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo