le bout de code en 5.3 mais qui ne passe pas en 7.3 est :
114 if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
115 '@'.
116 '[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
117 '[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
118 $f_7))
119 {
120 $erreur.="<li><span class='txterror'>Le champ « Email » est vide ou incomplet.</span>";
121 $errf_7=1;
122 }
et donne le message d'erreur
appel à la fonction non définie ereg () dans /htdocs/c1.inc.php:114 Trace de pile: # 0 {main}
en changeant le fonction ereg par preg_match comme vu sur l'excellent tuto
https://www.php.net/manual/fr/function.preg-match.php
114 if(!preg_match('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
115 '@'.
116 '[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
117 '[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
118 $f_7))
119 {
120 $erreur.="<li><span class='txterror'>Le champ « Email » est vide ou incomplet.</span>";
121 $errf_7=1;
122 }
l'erreur se transforme en :
preg_match(): Unknown modifier '_' in /htdocs/c1.inc.php on line 118
alors que
$f_7
est bien définis en ligne 99 et il n'y a pas d'erreur ? :
93 // Formatage des entrées
94 $f_2=trim(ucwords(preg_replace("[^a-zA-Z0-9éè äö\ -]", "", $f_2)));
95 $f_3=trim(ucwords(preg_replace("[^a-zA-Z0-9éè äö\ -]", "", $f_3)));
96 $f_4=trim(ucwords(preg_replace("[^a-zA-Z0-9éè äö\ -]", "", $f_4)));
97 $f_5=trim(preg_replace("[^0-9+]", "", $f_5));
98 $f_6=trim(ucwords(preg_replace("[^a-zA-Z0-9éè äö\ -]", "", $f_6)));
99 $f_7=strip_tags(trim($f_7));
100 $f_8=trim(preg_replace("[^0-9\ +]", "", $f_8));
en indiquant en jaune que
Le champ « Email » est vide ou incomplet.
alors que le mail est inchangé
autant dire que mes compétances php s'arrête la ! serait ce une histoire de utf8 ?
merci !
(petite suggestion faire incrémenter un numérotage automatique lorsque on met du code php serait peut être une facilité de lecture surtout lorsque le code est long )