Page 1 sur 1

pb authentification?

Posté : 01 déc. 2005, 23:14
par YVES
voici l'erreur retournée par mon hébergeur....

Parse error: parse error, unexpected '}' in /home/xxxxxxxxxxx/xxxxxx/ins.php on line 23
(la ligne 23 est en rouge normalement)



<?php
// On commence par récupérer les champs
if(isset($_POST['pseudo']))$login=addslashes($_POST['pseudo']);
else $login="";
if(isset($_POST['passe']))$passe=htmlentities($_POST['passe']);
else $passe="";
if(isset($_POST['email']))$email=htmlentities($_POST['email']);
else $email="";
if(isset($_POST['sexe']))$sexe=$_POST['sexe'];
else $sexe="";
if(isset($_POST['age']))$age=$_POST['age'];
else $age="";
// On vérifie si les champs sont vides
if(empty($login) OR empty($passe) OR empty($email)  OR empty($sexe) OR empty($age))
    {
    echo '<font face="Calligraph421 BT"> Attention ! Tous les champs ne sont pas correctement renseignés.</font>';
    }
// on se connecte à MySQL
       // connexion à la base
$db= mysql_connect(localhost, xxxxxl, xxxx) or die("Impossible de se connecter à la base de données"); 	   
// sélection de la base  
 mysql_select_db('xxxxxl',$db)  or die('Erreur de selection base'.mysql_error());
[color=red] 	}	[/color]
 // 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  // Le pseudo est pas encore pris, on insère les informations du formulaire dans la table
        {    	
$sql = "INSERT INTO membres(id, pseudo, passe, email, sexe, age) VALUES ('','$login','$passe','$email', '$sexe','$age')";
     // on insère les informations du formulaire dans la table
    mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
    // on redirige vers une page de confirmation
    	header("Location: bravo.htm");
    mysql_close($db);  // on ferme la connexion
    } 
?> 

Posté : 01 déc. 2005, 23:20
par Truc
en plus tu cible l'érreur et tu ne l'efface pas :lol:
l'accolade est de trop :wink:

Posté : 01 déc. 2005, 23:22
par YVES
:oops: la ligne 23 bien sur n'apparait pas en rouge mais elle est repérable avec sa parenthèse droite et son code numérique :roll:
[color=red:6dbeea7a9f] } [/color:6dbeea7a9f]

C'est curieux, je suis persuadé que ce script fonctionnait auparavant :roll:

Posté : 01 déc. 2005, 23:27
par Truc
C'est curieux, je suis persuadé que ce script fonctionnait auparavant :roll:
tu as peut etre fait une mauvaise manipulation, pas grave :wink:

mais tu peut surtout ajouter un "else" a ce test:
if(empty($login) OR empty($passe) OR empty($email)  OR empty($sexe) OR empty($age))
{
    echo '<font face="Calligraph421 BT"> Attention ! Tous les champs ne sont pas correctement renseignés.</font>';
}
else
{
//ici connexion et traitement du formualire et BD
}
pour eviter que le traitement se fasse si les champs ne sont pas tous remplis

Posté : 01 déc. 2005, 23:33
par YVES
Merci, Truc.
comme on dit souvent, plus c'est évident et que cela devrait sauter aux yeux, moins c'est clair? :shock: