Php aide
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Php aide



  1. #1
    Sylsam

    Php aide


    ------

    Salut,
    Je suis sur UN projet DE reseau social et je bloque sur connexion.php
    J'ai aucune erreur affiché mais le résultat est nul c'est à dire que je me connecte avec de mauvais identifiant ca affiche "Mdp ou pseudo incrorrect" et sa affiche la meme chose avec de bons indentifiants
    Aucune erruer s'affiche avec ce code :

    Code:
    /*-----------------------------------------------------------------*/
    <!DOCTYPE html>
    <html lang="en">
     <head>
      <meta charset="UTF-8">
      <link rel="stylesheet" href="css/style.css">
      <title>Connexion</title>
     </head>
     <body>
      <div id="tout_login">
     <h1>Connexion</h1>
      
    
    <?php
    /*
    Page: connexion.php
    */
    session_start(); // à mettre tout en haut du fichier .php, cette fonction propre à PHP servira à maintenir la $_SESSION
    if(isset($_POST['submit'])) { // si le bouton "submit" est appuyé
        // on vérifie que le champ "Pseudo" n'est pas vide
        // empty vérifie à la fois si le champ est vide et si le champ existe belle et bien (is set)
        if(empty($_POST['pseudo'])) {
            echo "Le champ pseudo est vide.";
        } else {
            // on vérifie maintenant si le champ "Mot de passe" n'est pas vide"
            if(empty($_POST['password'])) {
                echo "Le champ Mot de passe est vide.";
            } else {
                // les champs sont bien posté et pas vide, on sécurise les données entrées par le membre:
                $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES, "ISO-8859-1"); // le htmlentities() passera les guillemets en entités HTML, ce qui empêchera les injections SQL
                $password = htmlentities($_POST['password'], ENT_QUOTES, "ISO-8859-1");
                //on se connecte à la base de données:
                 $mysqli = mysqli_connect("localhost", "root", "", "rs");
    			 $mysqli->set_charset("utf8");
                //on vérifie que la connexion s'effectue correctement:
                if(!$mysqli){
                    echo "Erreur de connexion à la base de données.";
                } else {
    				echo"Réussiee";
    			
                    // on fait maintenant la requête dans la base de données pour rechercher si ces données existe et correspondent:
                    $Requete = mysqli_query($mysqli,"SELECT * FROM utilisateurs WHERE pseudo = '".$pseudo."' AND password = '".$password."'");
                    // si il y a un résultat, mysqli_num_rows() nous donnera alors 1
                    // si mysqli_num_rows() retourne 0 c'est qu'il a trouvé aucun résultat
    				if(mysqli_num_rows($Requete) == 0) {
                        echo "Le pseudo ou le mot de passe est incorrect, le compte n'a pas été trouvé.";
                    } else {
                        // on ouvre la session avec $_SESSION:
                        $_SESSION['pseudo'] = $pseudo; // la session peut être appelée différemment et son contenu aussi peut être autre chose que le pseudo
                        echo "Vous êtes à présent connecté !";
                    }
                   
             } 
    		 }
            }
        
    }
    ?>
       
    
    
    
       <form method='POST' action=''>
        </br> </br>
        <label for='pseudo'>Votre pseudo :</label>
    	<input type='text' name='pseudo' class="case">  </br> </br>
    	
    	<label for='password'>Votre mot de passe :</label>
    	<input type='password' name='password' class="case"> </br> </br>
    	
    	<input type='submit' value='Se connecter' name='submit'></submit> </br></br></br></br></br></br></br>
    	
    	 <a href='index.php?page=register'>Pas encore menbre !!</a>
    	 </div>
       </form> 
       </body>
    </html>
    /*--------------------------------------------------------------------*/

    -----
    Dernière modification par Jack ; 12/04/2016 à 14h14. Motif: balises code

  2. #2
    Jack
    Modérateur

    Re : Php aide

    Ce n'est pas la première fois que l'on doit ajouter les balises code à ta place.
    C'est pourtant clairement indiqué ici : http://forums.futura-sciences.com/pr...ves-forum.html

    Merci de le faire tout seul à l'avenir

  3. #3
    cherbe

    Re : Php aide

    Citation Envoyé par Sylsam Voir le message
    Code:
                    $Requete = mysqli_query($mysqli,"SELECT * FROM utilisateurs WHERE pseudo = '".$pseudo."' AND password = '".$password."'");
    Pas sûr que le problème vienne de là mais cette syntaxe ne me plait pas beaucoup. Essaie ceci :

    Code:
    $Requete = mysqli_query($mysqli,"SELECT * FROM utilisateurs WHERE pseudo = '.$pseudo.' AND password = '.$password.'");

  4. #4
    cherbe

    Re : Php aide

    Ce test ne fait pas ce qui est attendu :
    Code:
    if(!$mysqli){
                    echo "Erreur de connexion à la base de données.";
                }
    Il vérifie l'inexistence de la variable $mysqli sans se préoccuper de son contenu. Tu ne sais pas si tu es connecté ou pas.
    Ceci est plus simple et plus efficace :
    Code:
    $mysqli = mysqli_connect("localhost", "root", "mot_de_passe", "rs") or exit("Erreur 10 : connexion impossible");
    Je mets exit() car il est inutile d'aller plus loin si la connexion n'est pas réalisée.
    à la place de 10, met le numéro de ligne dans le script. Ça simplifie les recherches pendant le débogage.
    Dernière modification par cherbe ; 13/04/2016 à 00h59.

  5. A voir en vidéo sur Futura
  6. #5
    Sylsam

    Re : Php aide

    Merci les gars j'ai modifié mais aucun résultat positif avec "Bienvenue" et toujours aucune erreur lors du test

  7. #6
    cherbe

    Re : Php aide

    Citation Envoyé par Sylsam Voir le message
    Merci les gars j'ai modifié mais aucun résultat positif avec "Bienvenue"
    ça veut dire quoi ça ????????????????????
    Citation Envoyé par Sylsam Voir le message
    et toujours aucune erreur lors du test
    Si la connexion est établie et que mysqli_query ne renvoie rien, c'est qu'il y a un problème dans la table de données
    Insère cette instruction juste après session_start() et regarde si la page affiche des messages d'erreur :
    error_reporting(E_ALL);

Discussions similaires

  1. aide branchement ventilo pc sur secteur avec transfo (photo pour aide)
    Par pedro67xl dans le forum Bricolage et décoration
    Réponses: 3
    Dernier message: 22/02/2015, 21h56
  2. aide svp quel antivirus choisir svp, merci infiniment de votre aide
    Par angesoleil dans le forum Internet - Réseau - Sécurité générale
    Réponses: 5
    Dernier message: 11/11/2012, 20h35
  3. [Aide SVT]1ere S aide L'ouverture de l'océan Atlantique Nord
    Par invite6f6226b6 dans le forum Géologie et Catastrophes naturelles
    Réponses: 7
    Dernier message: 30/04/2010, 21h26
  4. Réponses: 0
    Dernier message: 15/02/2007, 09h03