Aide pour faire un formulaire connexion

Résolu
bnrj Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   -  
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
voici les codes et mon problème:
*******le formulaire*******
<form name="connexion" Method="post" Action="valid.php">
<li>pseudo:<br/><input type="text" name="pseudo"/></li>
<li>password:<br/><input type="password" name="password"/></li>
<li><input type="submit" value="Connexion"></li>
</form>
*******la page valid.php*******
<?php
mysql_connect("localhost","root","");
mysql_select_db("mailz");

$retour=mysql_query('SELECT login,pass FROM connexion');
$donnees = mysql_fetch_array($retour)
if($donnees['login']==$_POST['pseudo']and $donnees['pass']=$_POST['password']))
{

echo("bienvenue");
mysql_close();
}
else
{
echo("acces interdit");
mysql_close();
}
?>
*******le problËme*******
Une fois sur la page valid.php il m'affiche "Parse error: parse error in C:\wamp\www\EnterMailz\valid.php on line 7"
aidez moi svp!!!
A voir également:

14 réponses

bissdebrazza Messages postés 2065 Date d'inscription   Statut Contributeur Dernière intervention   712
 
salut!
<?php
mysql_connect("localhost","root","");
mysql_select_db("mailz");

$retour=mysql_query('SELECT login,pass FROM connexion');
$donnees = mysql_fetch_array($retour)
if($donnees['login']==$_POST['pseudo']and $donnees['pass']=$_POST['password'])
{

echo("bienvenue");
mysql_close();
}
else
{
echo("acces interdit");
mysql_close();
}
?> 

Tu fermes deux parenthèses alors qu'il n'y a qu'une seule ouverte!
1
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
A priori la ligne 7 est:
if($donnees['login']==$_POST['pseudo']and $donnees['pass']=$_POST['password'])) 

Essai avec
if(($donnees['login']==$_POST['pseudo']) && ($donnees['pass']=$_POST['password']))


Simple remarque, un tel code impose que tu n'ai qu'un seul utilisateur... Dans ta requête tu n'imposes aucun sélection dans ta table avec un WHERE. Il prendra donc le premier utilisateur qu'il trouvera, c'est à dire à la première ligne...
1
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Tu peux faire ça de la façon suivante:
<?php
mysql_connect("localhost","root","");
mysql_select_db("mailz"); 
if(isset($POST['pseudo']) && isset($_POST['password']) && !empty($POST['pseudo']) &&  !empty($_POST['password'])) //Simple controle pour voir si les deux champs sont déclaré et non vide 
{$retour=mysql_query('SELECT * FROM connexion WHERE login="'.$_POST['pseudo'].'"');
$donnees = mysql_fetch_array($retour);
if($donnees['pass'] == $_POST['password'])
     {
     session_start();
     $_SESSION['login'] = $donnees['login'];
     echo'Bienvenue '.$_SESSION['login'].'';
     mysql_close();
     }

}
else{echo 'Au moins un champ est vide.';}
?>
1
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Remplace la ligne:
if(isset($POST['pseudo']) && isset($_POST['password']) && !empty($POST['pseudo']) &&  !empty($_POST['password']))

Par:
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['password']) && !empty($_POST['password'])))

ça devrai aller cette fois.
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
J'suis con....
En fait j'ai repris ce code d'un formulaire à moi et ai pas tout changé.
Essai:
if ((isset($_POST['pseudo']) && !empty($_POST['pseudo'])) && (isset($_POST['password']) && !empty($_POST['password'])))

J'ai remplacé $_POST['login'] (de mon formulaire) par $_POST['pseudo'] (que tu as dans ton formulaire).
1
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Je vais même simplifier les choses.
Regarde ce lien: http://www.lephpfacile.com/howto/10-comment-faire-un-espace-membre-en-php
1
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Si tu trouve ça compliqué à ce niveau là, attends de voir la suite. Je sais pas ce que tu veux faire précisement mais la suite risque d'être plus compliqué.
Prends bien le temps de comprendre ce que tu fais si tu veux t'en sortir et savoir réutilisé ce que tu fais plus tard quand tu en aura besoin.

En tout cas si ton problème actuel et résolu, oublie pas de changer le statu en haut. En cas de besoin tu pourra très bien créer un autre topic.
1
bnrj
 
d'accord comment je le place le WHERE
0
bnrj Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   5
 
merci merci merci euh juste vous pouvez m'aidez pour l'inscription avec la demande que de login et de pass
0
bnrj Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   5
 
par contre meme quand je rentre les bonnes cordonnées sa me met:au moins un champ vide
ps:le champ login et le pass sont en varchar c'est bien??
dans ton code t'aurais pas oublié de mettre
$retour=mysql_query('SELECT * FROM connexion WHERE login="'.$_POST['pseudo'].'"');
pour le pass???
0
bnrj Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   5
 
euh non toujours pas
0
bnrj Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   5
 
mais le formulaire c'est pseudo et password
par contre les champs de la base de donnée c'est login et pass

je sais c'est compliqué
0
bnrj Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   5
 
oui merci maintenant ça marche!!!!!!!!!!!!!!
euh...si ça t'embète pas tu peux m'aider pour l'inscription
0
bnrj Messages postés 129 Date d'inscription   Statut Membre Dernière intervention   5
 
merci (bon c'est pas très clair mais ça devrait etre bon)merci beaucoup
0