Page 1 sur 1

message d'erreur formulaire : Deprecated: Function eregi_...

Posté : 14 nov. 2011, 19:08
par torg_25
Bonjour à tous,

J'ai un problème avec un formulaire php, à savoir ces messages :
Deprecated: Function eregi_replace() is deprecated in /homez.483/vaubante/www/contact_2.php on line 21

Deprecated: Function eregi_replace() is deprecated in /homez.483/vaubante/www/contact_2.php on line 22

Deprecated: Function eregi_replace() is deprecated in /homez.483/vaubante/www/contact_2.php on line 23

Deprecated: Function eregi_replace() is deprecated in /homez.483/vaubante/www/contact_2.php on line 24

Deprecated: Function eregi_replace() is deprecated in /homez.483/vaubante/www/contact_2.php on line 25

Deprecated: Function eregi_replace() is deprecated in /homez.483/vaubante/www/contact_2.php on line 26

Deprecated: Function eregi_replace() is deprecated in /homez.483/vaubante/www/contact_2.php on line 27

Deprecated: Function ereg() is deprecated in /homez.483/vaubante/www/contact_2.php on line 63

Le formulaire s'envoie pourtant bien mais comment enlever ces messages ?

Ne m'y connaissant pas en php, j'ai essayé de faire les corrections trouvés sur un autre forum mais vu que j'ai plusieurs champs, je ne m'y retrouve pas.

Voilà le code php du formulaire :
// Formatage des entrées
	$f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1)));
	$f_2=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_2)));
	$f_3=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_3)));
	$f_4=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_4)));
	$f_5=trim(eregi_replace("[^0-9+]", "", $f_5));
	$f_6=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_6)));
	$f_7=trim(eregi_replace("[^0-9\ +]", "", $f_7));
	$f_8=strip_tags(trim($f_8));
	$f_9=strip_tags(trim($f_9));
	// Verification des champs
	if(strlen($f_1)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Nom &raquo; est vide ou incomplet.</span>";
		$errf_1=1;
	}
	if(strlen($f_2)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Prénom &raquo; est vide ou incomplet.</span>";
		$errf_2=1;
	}
	if(strlen($f_4)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Adresse &raquo; est vide ou incomplet.</span>";
		$errf_4=1;
	}
	if(strlen($f_5)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Code postal &raquo; est vide ou incomplet.</span>";
		$errf_5=1;
	}
	if(strlen($f_6)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Ville &raquo; est vide ou incomplet.</span>";
		$errf_6=1;
	}
	if(strlen($f_7)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Téléphone &raquo; est vide ou incomplet.</span>";
		$errf_7=1;
	}
	if(strlen($f_8)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; E-mail &raquo; est vide ou incomplet.</span>";
		$errf_8=1;
	}else{
		if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
		'@'.
		'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
		'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
		$f_8)){
			$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
			$errf_8=1;
		}
	}
	if(strlen($f_10)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Votre demande &raquo; est vide ou incomplet.</span>";
		$errf_10=1;
	}
la ligne 21 étant : $f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1))); et suivant jusqu' à 27
la ligne 63 étant : $f_8)){

Merci d'avance à celui ou celle qui pourra corriger le code pour ne plus voir apparaitre ces messages d'erreur.

Re: message d'erreur formulaire : Deprecated: Function eregi

Posté : 14 nov. 2011, 20:43
par moogli
Salut,
Qu'à tu testé ?

Il faut remplacer les fonctions ereg_* par les preg_*
Regarde la des fonctions que tu emplois (en cliquant sur leur nom quand tu regarde ton code sur le forum) tu trouvera les fonctions similaire "en preg_*".

Attention aux masques il faut les délimiter (avec un caractère qui n'est pas dans le masque ;) )

Pour plus d'infos sur les expressions régulières http://expreg.com


@+

Re: message d'erreur formulaire : Deprecated: Function eregi

Posté : 14 nov. 2011, 21:16
par torg_25
Merci pour ta réponse,

J'ai remplacé les eregi_replace par preg_replace, je n'ai de ce fait plus les messages d'erreur. J'ai aussi remplacé :
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
		'@'.
		'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
		'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
		$f_8)){
			$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
			$errf_8=1;
par
if (preg_match('/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$/',$f_8)) {
		$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
			$errf_8=1;
comme trouvé sur un autre forum

Ca avance mais j'ai encore un souci : cela m'affiche "La syntaxe de votre adresse e-mail n'est pas correcte" lors de l'envoi alors que celle ci est correcte.

Merci de ton aide

Re: message d'erreur formulaire : Deprecated: Function eregi

Posté : 15 nov. 2011, 00:12
par torg_25
Problème résolu !!! Merci

Re: message d'erreur formulaire : Deprecated: Function eregi

Posté : 15 nov. 2011, 00:15
par AB
Oui et au passage y'a aussi des fonctions dédiées php pour la validation de mail cf FILTER_VALIDATE_EMAIL (depuis quelques temps déjà)