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 :

Connexion utilisateurs erreur [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 28
    Par défaut Connexion utilisateurs erreur
    Bonjour j'ai créer un formulaire de conection. Mais peut importe si les valeurs sont bonnes ou incorecte le resultat est toujours incorecte.

    Mon connexion.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	$PARAM_nom_bd="centre";
    	$PARAM_utilisateur="root";
    	$PARAM_mot_passe='root';
    	$PARAM_hote="localhost";
    $cnx = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
    Mon conec.php :
    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
    22
    23
    24
    <?php
    include("./connexion.php");	
    //Je vérifie le pseudo et e mot de passe
    $req = $cnx->prepare('SELECT COUNT(*) AS membre_valide FROM membre WHERE mail = :login AND mdp = :mdp'); // Je compte le nombre d'entrée ayant pour mot de passe et login ceux rentrés
    $req->bindValue(':login', $_POST['log_conec'], PDO::PARAM_STR);
    $req->bindValue(':mdp', $_POST['log_mdp'], PDO::PARAM_STR); // Protège les valeurs (type string)
    $data = $req->execute();
    $req->closeCursor(); // Termine le traitement de la requête
    echo $data['membre_valide'];
    // Je teste la valeur de $data['membre_valide']
    if($data['membre_valide'] != 0) { // On as trouvé un membre avec ce couple mdp, login
     
         echo 'Vous êtes connecté';
    }
    else { // Personne n'existe dans la table avec ce couple mdp, login
     
         echo 'le login et le mot de passe rentrés sont invalides';
    }
     
    //$cnx = null; // Fermeture de la connexion
     
    echo "<br />";
    echo "<a href='index.html'>Retour</a>";
    ?>
    Et mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form action="conec.php" method="post">
    						<table>
    							<tr>
    								<td><label> Nom d'utilisateur :</label></td>
    								<td><<td><input type="text" name="log_conec" /><span class="info"></span></td>
    							</tr><tr>
    								<td><label> Mot de passe :</label></td>
    								<td><<td><input type="text" name="log_mdp" /><span class="info"></span></td>
    							</tr><tr>
    								<td  colspan="2"><input type="submit" name="conection" /></span class="info"></span></td>
    							</tr>
    						</table>
    					</form>

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    La fonction execute de PDO ne renvoie pas de données, juste un booléen signalant si la requête a fonctionné ou échoué.
    Pour récupérer les valeurs, il faut que tu passes par une fonction fetch :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $req->execute();
    $data = $req->fetch();
    $req->closeCursor(); // Termine le traitement de la requête
    echo $data['membre_valide'];
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Oublie pas d'active la gestion des erreurs

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 28
    Par défaut
    Merci vos réponse m'ont aidé . J'ai compris que je ne maîtrise pas assez pdo... Donc après quelques relecture de la doc j'ai pu faire fonctionné tout ca.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connexion utilisateur XP PRO sur domaine WINDOWS 2003 server
    Par barok dans le forum Windows Serveur
    Réponses: 14
    Dernier message: 20/10/2006, 22h27
  2. procedure stocke connexion utilisateur
    Par xman_genius dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/09/2006, 15h59
  3. connexion utilisateur !!
    Par topolino dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 30/06/2006, 15h37
  4. Réponses: 2
    Dernier message: 01/12/2005, 16h49
  5. [CR.NET] Sous-etat bug fenetre de connexion affichee+erreur
    Par Designotik dans le forum Connectivité
    Réponses: 1
    Dernier message: 18/02/2005, 15h36

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