Warning: ereg(): Invalid range end in

Bonjour,

jai installé un site et tout est ok, a part que lorsque je m’inscrit a la newsletter ou j’essaie de m’inscrire comme nouvel utilisateur, j’obtiens :

Warning: ereg(): Invalid range end in …

De quoi cela peut il venir ? J’ai cherché un peu partout et je n’arrives pas a trouver !

Je pense que tu as une fonction qui check si ton email est valide … regarde déja le fichier ou t’as l’erreur, le no de la ligne … puis recopie la fonction ici …

il me met 3 erreur aux lignes 170, 213 et 220 , voila le code :

ligne 173: if( (empty($_POST[‘uname’])) && (in_array(“uname”, $required_fields)) ){
array_push($errors, $lang[‘nousername’]);
$ok = “0”;
}

Ligne 213 : if((!ereg("^[_A-Za-zÀ-ÖØ-öø-ÿ0-9-]+(.[_A-Za-zÀ-ÖØ-öø-ÿ0-9-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{2,4})$", $_REQUEST[‘email’])) && (in_array(“email”, $required_fields)) ){
array_push($errors, $lang[‘emailerror’]);
$ok = “0”;
}

Ligne 220 : if((!ereg("^[_A-Za-zÀ-ÖØ-öø-ÿ0-9-]+(.[_A-Za-zÀ-ÖØ-öø-ÿ0-9-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{2,4})$", $_REQUEST[‘email2’])) && (in_array(“email”, $required_fields)) ){
array_push($errors, $lang[‘emailerror’]);
$ok = “0”;
}

ce sont tous des “warning” ?
Si oui: rien de grave, suffit de les désactiver en placant error_reporting(0); au debut du script :wink:

Dans tes classes de caractères, remplace le - terminal par -. ereg doit le prendre comme une nouvelle classe de caractères.

Ok merci pour les réponses je vais essayer comme cela.

C’est ok pratiquement pour tout, il ne m’en mets plus qu’un
pourtant j’ai ien mis a la fin 9-

voici le bout :
if(isset($_POST[‘pass’]) && $_POST[‘pass’]!=""){
$pwcheck = str_replace(array("[","]",":","(",")","="), “”, $_POST[‘pass’]);
if(ereg("[^ ._A-Za-zÀ-ÖØ-öø-ÿ0-9-]", $pwcheck)){
array_push($errors, $lang[‘error_pnospecial’]);
$ok = “0”;

Je ne comprends pas, Au fait, je débute, mais bon, cela je pense que vous aviez compris …

essaye de backslasher le point (.)

(je savais pas que les regexp POSIX de php suxait tant, vive PCRE)

j’ai essaye come ca, et non, toujours pas !
if(isset($_POST[‘pass’]) && $_POST[‘pass’]!=""){
$pwcheck = str_replace(array("[","]",":","(",")","="), “”, $_POST[‘pass’]);
if(ereg("[^ ._A-Za-zÀ-ÖØ-öø-ÿ0-9-]", $pwcheck)){
array_push($errors, $lang[‘error_pnospecial’]);
$ok = “0”;

Dans ce cas, faut voir en virant les accents puisque tu dois avoir une inversion (genre tester z-a : ça veut rien dire).

Ok merci je vais regarder !