probleme pour interdire certain charactere

Mammouth du PHP | 558 Messages

12 févr. 2007, 18:20

voici la ligne que j'utilise et qui ne veut pas fonctionner
$expr_reg = "^[A-Za-z0-9]{6-8}$";
if(!ereg($expr_reg,htmlentities($_POST['pseudo'])))
{
echo"vous avez entrée des characteres invalide1"; ?>
<br>
<a href="connection.php">Pour réessayer cliquez-ici</a>
<?php
include("template/template1.php");
exit();
}
lorsque je retire le point virgule comme ecrit dans le livre que j'ai j'ai un parse error

Code : Tout sélectionner

Warning: ereg(): REG_BADBR in c:\program files\easyphp1-8\www\easycashptp\connection2.php on line 13
merci de votre aide

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

12 févr. 2007, 18:29

Bonjour,

Quel point-virgule?
Pourquoi le retires-tu?
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 558 Messages

12 févr. 2007, 18:37

Bonjour,

Quel point-virgule?
Pourquoi le retires-tu?
celui de cette ligne sur mon livre elle n'y est pas

Code : Tout sélectionner

$expr_reg = "^[A-Za-z0-9]{6-8}$";
en fait je ne veut autoriser que c'est charactere
de la lettre a jusqu'a la lettre z majuscule et minuscule
tous les chiffres et les "-" "_"
ainsi que toute chaine de charactere entre 6 et 8 charactere

Eléphant du PHP | 164 Messages

12 févr. 2007, 18:50

et bien pour commencer je vois un gros problème d'ouverture et fermeture d'accolade mal inbriquée avec l'html et le php....... regarde ton code et cleane ca, à mon avis ca devrai t'aider à avancer....

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

12 févr. 2007, 18:51

Le point virgule est correct et je ne vois pas pourquoi il faudrait le retirer...

Bien que je doute que ça change quelque chose, essaye ceci:
<?php
if(!ereg("^[a-zA-Z0-9_-]{6-8}$",htmlentities($_POST['pseudo']))){
echo "vous avez entré des caractères invalides 1
<br>
<a href='connection.php'>Pour réessayer cliquez-ici</a>";
include("template/template1.php");
exit();
}
?>
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 558 Messages

12 févr. 2007, 19:02

Le point virgule est correct et je ne vois pas pourquoi il faudrait le retirer...

Bien que je doute que ça change quelque chose, essaye ceci:
<?php
if(!ereg("^[a-zA-Z0-9_-]{6-8}$",htmlentities($_POST['pseudo']))){
echo "vous avez entré des caractères invalides 1
<br>
<a href='connection.php'>Pour réessayer cliquez-ici</a>";
include("template/template1.php");
exit();
}
?>
meme probleme
le truc c'est qu'il faut specifier une longueur de charractere qui ne peut etre connu a l'avance ...
car il s'agit du pass et du pseudo des membres

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

12 févr. 2007, 19:09

Ahhh bah j'ai trouvé, tu utilise un tiret pour la longueur, or c'est une virgule qu'il faut mettre!
<?php
if(!ereg("^[a-zA-Z0-9_-]{6,8}$",$_POST['pseudo'])){
echo "vous avez entré des caractères invalides 1
<br>
<a href='connection.php'>Pour réessayer cliquez-ici</a>";
include("template/template1.php");
exit();
}
?> 
(j'ai retiré au passage le htmlentities() qui ne sert à rien à priori...)
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 558 Messages

12 févr. 2007, 19:13

le probleme vient de la determination du nombre de charactere et je ne sait pas comment le regler

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

12 févr. 2007, 19:19

Tu as testé le 2ème code que je t'ai mis?
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 558 Messages

12 févr. 2007, 19:54

Tu as testé le 2ème code que je t'ai mis?
le dexieme code fonctionne tres bien merci donc problème resolu merci a tous pour votre aide...