Pb syntaxe sur ereg

Rouge Oregon Messages postés 3 Statut Membre -  
Rouge Oregon Messages postés 3 Statut Membre -
Bonjour,

je cherche à sécuriser mon script d'inscription qui limiterait la saisie du pseudo à des lettres plus ' et " (quote et double quotes) et c'est tout.

<?php
include 'connexion.php';
if(!ereg('^[a-zA-Z.+\'.+\"$]', $_POST['pseudo']))$login=addslashes($_POST['pseudo'])
{
echo 'Le pseudo est incoorect car il y a des caractères spéciaux';
}
else {
$login="";
}
etc, etc, etc

cela me donne 1 parse error ligne5 !

3 réponses

EminoMeneko Messages postés 2499 Statut Membre 318
 
Et c'est laquelle la ligne 5 ?
0
Rouge Oregon Messages postés 3 Statut Membre
 
le echo
0
Rouge Oregon Messages postés 3 Statut Membre
 
j"ai amélioré le script mais il doit y avoir 1 soucis dans l'enchainmement complet car cela affiche toujours le "false" (echo du début comme quoi il y a des caracs spéciaux interdits)
<?php
include 'connexion.php';
if (isset($_POST['pseudo'])) {
$login= ereg('^[a-zA-Z\'"]*$', $_POST['pseudo']);
if($login==true)
{
//le pseudo est correct
$login="";
}
else
{
//le pseudo n'\est pas correct
echo 'Le pseudo est incorrect car il y a des caractères spéciaux';
}
if(isset($_POST['passe']))$passe=addslashes(stripslashes($_POST['passe']));
$passe="";
if(isset($_POST['email']))$email=$_POST['email'];
$email="";
if(isset($_POST['sexe']))$sexe=$_POST['sexe'];
$sexe="";
if(isset($_POST['age']))$age=$_POST['age'];
$age="";
if(isset($_POST['race']))$race=$_POST['race'];
$race="";
if(isset($_POST['predef']))$typeava=$_POST['predef'];
$typeava="./avatars/001.gif";
// On vérifie si les champs sont vides
if(empty($login) OR empty($passe) OR empty($email) OR empty($sexe) OR empty($age) OR empty($race))
{
echo '<center><font face="Book Antiqua"> Attention ! Tous les champs ne sont pas correctement renseignés.
<br><a href="inscription.php">RETOUR INSCRIPTION</a></font></center>';
}
else{
// on regarde si le type existe déjà
$req = mysql_query("SELECT * FROM membres WHERE pseudo='". $login ."'",$db)or die(mysql_error());
// on compte le nombre de résultats
$res = mysql_num_rows($req);
if($res!=0) // le pseudo existe déjà, on affiche un message d'erreur
{
echo '<center><font color="red">Désolé, mais ce pseudo est déjà pris !</font></center>';
}
else {
$req2 = mysql_query("SELECT * FROM membres WHERE passe='". $passe ."'",$db)or die(mysql_error());
$res = mysql_num_rows($req);
if($res!=0) // le passe existe déjà, on affiche un message d'erreur
{
echo '<center><font color="red">Désolé, mais ce mot de passe est déjà pris !</font></center>';
}
else
{
$sq2 = "INSERT INTO membres(id, pseudo, passe, email, age, avatar, sexe, race, date_inscri) VALUES ('', '$login', '$passe','$email','$age','$typeava', '$sexe', '$race', NOW())";
mysql_query($sq2) or die('Erreur SQL '.$sq2.'<br>'.mysql_error());
}
include 'bravo.htm';
}
}
}
mysql_close();
?>
0