ereg() obsolète, preg_match pose problème, que faire ?

Petit nouveau ! | 1 Messages

19 déc. 2012, 18:25

salut,
en grand amateur, je suis confronté à un problème : j'ai suivi un tuto pour créer un formulaire sans rafraîchissement de la page tout fonctionne sauf que j'obtiens une erreur concernant ereg() (a priori c'est normal puisque c'est devenu il me semble) un extrait de mon code:
		if ( empty($_REQUEST['name']) ) {
		$pass = 1;
		$alert .= "<li>" . $emptyname . "</li>";
	} elseif ( ereg( "[][{}()*+?.\\^$|]", $_REQUEST['name'] ) ) {
		$pass = 1;
		$alert .= "<li>" . $alertname . "</li>";
	}
	if ( empty($_REQUEST['email']) ) {
		$pass = 1;
		$alert .= "<li>" . $emptyemail . "</li>";
	} elseif ( !eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $_REQUEST['email']) ) {
		$pass = 1;
		$alert .= "<li>" . $alertemail . "</li>";
	}
	if ( empty($_REQUEST['message']) ) {
		$pass = 1;
		$alert .= "<li>" . $emptymessage . "</li>";
	} elseif ( ereg( "[][{}()*+?\\^$|]", $_REQUEST['message'] ) ) {
		$pass = 1;
		$alert .= "<li>" . $alertmessage . "</li>";
	}

je cherche sur les internets et tombe sur l'expression preg_match, je remplace donc les ereg() mais j'obtiens toujours des erreurs.
Que faire ?, merci d'avance pour vos réponses.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 déc. 2012, 23:12

bonjour,


la solution est dans la doc ;) http://php.net/manual/fr/reference.pcre ... .posix.php



@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 257 Messages

24 déc. 2012, 13:00

voici quelque solutions
      if(!preg_match('/^[a-zA-Z]$/',$_POST['nom']))
      {
}
    
    if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
      {
}
		  		  
    if(preg_match('/^(\d{2}[-\s.]\d{3}|\d{3}[-\s.]\d{2})([-\s.]\d{2}){2}$/',$_POST['telph']))
     {
}

ViPHP
ViPHP | 928 Messages

30 déc. 2012, 03:11

Bonsoir,

remplacez les
ereg('machin')
par
preg_match('#machin#')
et les
eregi('machin')
par
preg_match('#machin#i')
Cordialement