Aide pour faire un formulaire connexion

Résolu
bnrj Messages postés 118 Date d'inscription   Statut Membre Dernière intervention   -  
arthezius Messages postés 3756 Statut Membre -
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!!!
Configuration: Mac OS X
Safari 525.28.3

14 réponses

  1. bissdebrazza Messages postés 2886 Statut Contributeur 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
  2. arthezius Messages postés 3756 Statut Membre 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
  3. arthezius Messages postés 3756 Statut Membre 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
  4. arthezius Messages postés 3756 Statut Membre 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. arthezius Messages postés 3756 Statut Membre 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
  7. arthezius Messages postés 3756 Statut Membre 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
  8. bnrj Messages postés 118 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
  9. bnrj Messages postés 118 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
  10. bnrj Messages postés 118 Date d'inscription   Statut Membre Dernière intervention   5
     
    euh non toujours pas
    0
  11. bnrj Messages postés 118 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
  12. bnrj Messages postés 118 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
  13. bnrj Messages postés 118 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