IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Redirection conditionnelle


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Par défaut Redirection conditionnelle
    bonjour à tous voila j'ai un problème car que je marque le bon pseudo et pass ou que je les marque pas je suis redirigé quand même sur mon site. Je voudrai soit être redirigé en cas de mauvais pseudo ou pass ou rester sur la même page svp. Qui pourrait m'éclairer ? Merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
     
    require('connect.php');
     
     
    $login = $_POST['mailmembre']; // On récupère le login de ton formulaire
    $passwd = $_POST['password']; // On récupère le mot de passe de ton formulaire
     
    mysql_connect('localhost','root');
    mysql_select_db($MABASE);
     
    $sql = "SELECT * FROM joueur WHERE pseudojoueur = '$login' AND MDPJOUEUR  = '$passwd' ";
    // On fait la recherche du couple login/password directement :)
     
    $query = mysql_query($sql) or die(mysql_error());
    // Ensuite, on regarde si il existe un membre avec ce login et ce pass
     
    if(mysql_num_rows($query)!=1){echo 'faux';}
     
    else echo 'ok';
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Bonjour et bienvenue sur le forum.

    On ne traite jamais une verification login/mot de passe en prenant directement ce qu'a saisie l'utilisateur.
    Il pourrait saisir n'importe quel code SQL qui viendrait s'ajouter a ta requete.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $login = mysql_real_escape_string($_POST['mailmembre']); // On récupère le login de ton formulaire
    $passwd = mysql_real_escape_string($_POST['password']); // On récupère le mot de passe de ton formulaire
    Pour le reste il faut debugguer : Regarde-ce que vaux mysql_num_rows($query) et tu sauras ce qui se passe dans ta condition.

    Sinon, n'utilise pas le langage SMS sur le forum s'il te plait.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Par défaut merci pour ta reponse
    j'ai un nouveau code d'erreur le voici:
    Notice: Undefined index: mailmembre in d:\battlecard\site\vos card.php on line 34

    Notice: Undefined index: password in d:\battlecard\site\vos card.php on line 35
    faux
    le code en question!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
     
    require('connect.php');
     
     
    $login = mysql_real_escape_string($_POST['mailmembre']); // On récupère le login de ton formulaire
    $passwd = mysql_real_escape_string($_POST['password']); // On récupère le mot de passe de ton formulaire
     
    mysql_connect('localhost','root');
    mysql_select_db($MABASE);
     
    $sql = "SELECT * FROM joueur WHERE pseudojoueur = '$login' AND MDPJOUEUR  = '$passwd' ";
    // On fait la recherche du couple login/password directement :)
     
    $query = mysql_query($sql) or die(mysql_error());
    // Ensuite, on regarde si il existe un membre avec ce login et ce pass
     
    if(mysql_num_rows($query)!=1){echo 'faux';}
     
    else echo 'ok';
    ?>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Cela veut dire que $_POST ne contient ni mailmembre ni password.

    Verifie les noms des champs de ton formulaire ; verifier egalement que tu utilises la méthode "post" dans la définition du <form>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 968
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 968
    Par défaut
    Il faut d'abord tester ta varaible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['mailmembre']))...
    Bien entendu il faut faire la même chose pour chaque variable renvoyée

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Par défaut
    merci de votre aide pour mailmembre j'ai mis ça comme ça car je ne savais pas quoi d'autre marquer mais en fait dis moi si ça peut être à la place formjoueur car ce bout de code fonctionne c'est ma page d'inscription et ça donne ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?
    require("connect.php");
    if (isset($_POST["formjoueur"]))
    {
    c'est juste un petit bout mais ce code marche merci je crois bien que c'est ça qui cloche car pour être honnête la vérification je l'ai faite moi-même grâce à des exemple mais la page connexion non j'ai pris un code tout fait

    voici la page de connexion
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <html>
    <head>
    <title>connection</title>
    </head>
    <body>
     
    <table width="27%">
    <tr>
    <td height="185"><div align="center">
    <form method="POST" name="form1" action="vos card.php">
    <table align="center" class="noirCopie">
    <tr valign="baseline">
    <td colspan="2" align="right" nowrap><div align="center">CONNEXION</div></td>
    </tr>
    <tr valign="baseline">
    <td width="31" align="right" nowrap> </td>
    <td width="150"> </td>
    </tr>
    <tr valign="baseline">
    <td align="right" valign="middle" nowrap>E-mail:</td>
    <td><div align="left">
    <input name="mailmembre" type="text" size="25" value="" >
    </div></td>
    </tr>
    <tr valign="baseline">
    <td align="right" valign="middle" nowrap> pass:</td>
    <td><div align="left">
    <input type="password" name="password" size="20" value="" >
    </div></td>
    </tr>
    <tr valign="baseline">
    <td nowrap align="right"> </td>
    <td><div align="left">
    <input name="submit" type="submit" onClick="MM_validateForm('mailmembre','','R','password','','R');return document.MM_returnValue" value="Connexion">
    <input name="statut" type="hidden" id="statut" value="<?php echo $row_Recordset1['statut']; ?>">
    </div></td>
    </tr>
    <tr valign="baseline">
    <td height="32" colspan="2" align="right" nowrap><div align="center">
    <table width="100%" border="0">
    <tr>
    <td><div align="center"><a href="../redirection/inscription.php">Inscription</a></div></td>
    <td><div align="center"><a href="../redirection/passe perdu.php">Pass perdu</a></div></td>
    </tr>
    </table>
    </div></td>
    </tr>
    </table>
    </form>
    </div></td>
    </tr>
    </table>
     
     
     
    </body>
    </html>

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as un bout de javascript orphelin la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="MM_validateForm('mailmembre','','R','password','','R');return document.MM_returnValue"
    Il y a la fonction qui va avec quelque part ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [PHP 5.3] Faire une redirection conditionnelle
    Par philippef dans le forum Langage
    Réponses: 3
    Dernier message: 28/10/2010, 09h14
  2. Réponses: 3
    Dernier message: 07/07/2010, 14h30
  3. Redirection conditionnelle
    Par mouna.elbaz dans le forum Seam
    Réponses: 1
    Dernier message: 24/10/2008, 09h19
  4. Réponses: 5
    Dernier message: 08/09/2008, 14h25
  5. [PHP-JS] redirection conditionnelle en php
    Par djbed dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2008, 11h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo