Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec un code Session PHP

    26 octobre 2006 à 17:17:52

    J'ai un problème avec ce code, rien ne se passe quand j'appuie sur le bouton submit "connexion" ! je ne comprend pas où est la faute, pouvez vous m'aider s'il vous plait ? :)


    Sinon voici le code en fichier PHP raré : http://graphox.free.fr/conect.rar


    <?php
    session_start(); // On démarre la session
    if (!isset($_SESSION['logged'])) $_SESSION['logged'] = false;
    $_POST['pass_client'] = $_SESSION["pass_client"];
    $_POST['pseudo'] = $_SESSION["pseudo"];
    require("config.php");


     ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title></title>
    <style type="text/css">
    <!--
    body {
            background-color: #666666;
    }
    .jaune {
            color: #FFFF00;
            font-family: Geneva, Arial, Helvetica, sans-serif;
            font-size: 12px;
    }
    a {
            font-size: 12px;
            color: #FFFF00;
            font-family: Geneva, Arial, Helvetica, sans-serif;
    }
    a:link {
            text-decoration: underline;
    }
    a:visited {
            text-decoration: underline;
            color: #FFFF00;
    }
    a:hover {
            text-decoration: none;
            color: #FFFF00;
    }
    a:active {
            text-decoration: underline;
            color: #FFFF66;
    }
    body,td,th {
            font-family: Geneva, Arial, Helvetica, sans-serif;
            font-size: 12px;
            color: #FFFF00;
    }
    -->
    </style></head>

    <body>
    <form id="form1" name="form1" method="post" action="">
      <label><span class="jaune">Votre pseudo :</span><br />
      <input type="text" name="pseudo" />
      </label>
      <p>
        <label><span class="jaune">Votre mot de passe :</span><br />
        <input type="text" name="pass_client" />
        </label>
      </p>
      <p>
        <input name="connexion" type="submit" value="Connexion !" />
            <input name="connexion" type="hidden" value="connexion" />
      </p>
    </form>
    <?php

    mysql_connect($host, $login, $pass);
    mysql_select_db($base);
    //Si la variable $_POST['Connexion'] (bouton submit du formulaire) et la variable $_SESSION['logged'] vaut false (déconnecté) existent.
    if (isset($_POST["connexion"]) && $_SESSION["logged"] == false)
    {
            //Vérification des autres variables.
            if (isset($_POST['pseudo'],$_POST['pass_client']) && !empty($_POST['pseudo']) && !empty($_POST['pass_client']))
            {
                    //Vérification du pseudo.
                    $pseudo = htmlspecialchars($_POST['pseudo']);
                    $pass_client = htmlspecialchars($_POST['pass_client']);
                   
                    //Requête comptant le nombre de pseudos $_POST['pseudo']
                    $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM lba_inscriptions WHERE pseudo='".$pseudo."'");
                   
                    //Si le pseudo existe.
                    if (mysql_result($sql,0,'nb_pseudo') == 1)
                    {
                            //Vérification du mot de passe
                            //Information sur le compte du membre.
                            $sql_infos = mysql_query("SELECT pass_client FROM lba_inscriptions WHERE pseudo='".$pseudo."'");
                            $donnees = mysql_fetch_array($sql_infos);
                           
                            //Comparaison du mot de passe.
                            if ($pass_client == $donnees['pass_client'])
                            {
                                                   
                                                    //Tout est bon, on connecte le membre.
                            $_SESSION['logged'] = true;
                                           
                            //Création de 2 variables de session, contenant des informations sur le membre.
                            $_SESSION['pass_client'] = $pass_client; //mdp du membre.
                            $_SESSION['pseudo'] = $pseudo; //Pseudo du membre.
                                           
                            //Redirection vers la page membre.
                            echo 'Vous êtes connecté !';
                                                   
                            }
                            else
                                    echo 'Erreur : le mot de passe est incorrect !';
                    }
                    else
                            echo 'Erreur : le pseudo n\'existe pas !';
            }
            else
                    echo '
    Erreur : veuillez remplir tous les champs !';
    }
    mysql_close();
    ?>
    </body>
    </html>
     


    Sinon voici le code en fichier PHP raré : http://graphox.free.fr/conect.rar
    J'aimerais de l'aide ^^
    Merci beaucoup d'avance pour votre aide, cordialement ;)
    • Partager sur Facebook
    • Partager sur Twitter
      26 octobre 2006 à 17:22:45

      Est-ce que tu peut editer tout ca avec
      echo 'Ton code avec la sémantique php';

      Merci ca sera deja plus clair.
      • Partager sur Facebook
      • Partager sur Twitter
        26 octobre 2006 à 17:28:43

        Mais comment es-ce qu'on fait ça? ^^ je sais pas du tout comment on fait, c'est vrai que le code n'est pas appétisant comme ça ! :)
        • Partager sur Facebook
        • Partager sur Twitter
          26 octobre 2006 à 17:32:48

          Citation : adrien.co

          Mais comment es-ce qu'on fait ça? ^^ je sais pas du tout comment on fait, c'est vrai que le code n'est pas appétisant comme ça ! :)


          kan técrit un msg tu regarde au dessus de la ou t'écrit et ya une liste déroulant avec marké "code" , ensuite tu click sur PHP et le résultat ne se voi ke ken tu met apercu final ou kan tenvoi le msg ;)
          • Partager sur Facebook
          • Partager sur Twitter
            26 octobre 2006 à 17:40:30

            Voila ^^ c'est fait, maintenant, j'espère que vous allez trouver le truk, moi je vois pas ^^
            • Partager sur Facebook
            • Partager sur Twitter
              26 octobre 2006 à 17:53:22

              Citation : adrien.co

              Voila ^^ c'est fait, maintenant, j'espère que vous allez trouver le truk, moi je vois pas ^^



              C'est tout cimplement parcque tu n'as rien mis dans action donc il ne c'ai pas ou envoyé les donnée Post :
              <form id="form1" name="form1" method="post" action=" !!ICI!! ">
                <label><span class="jaune">Votre pseudo :</span><br />
                <input type="text" name="pseudo" />
                </label>


              Voila je pense que ta vu ton erreur ??

              Pb résolu => ;)
              • Partager sur Facebook
              • Partager sur Twitter
                26 octobre 2006 à 17:57:56

                Mais je mes quoi en action ? c'est le script qui est dans la même page qui agit, donc je mes quoi ???!

                (désolé pour le dérengement ^^)
                • Partager sur Facebook
                • Partager sur Twitter
                  26 octobre 2006 à 18:06:03

                  Citation : adrien.co

                  Mais je mes quoi en action ? c'est le script qui est dans la même page qui agit, donc je mes quoi ???!

                  (désolé pour le dérengement ^^)



                  Bah le nom de ta page, si ce code est sur la page, login.php dans action tu met login.php ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 octobre 2006 à 18:11:15

                    Je viens d'éssayer, ma page s'appelle "conect.php" et NON ça ne marche pas, la page se lance mais RIEN ne se passe quand j'appuie sur le bouton !
                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 octobre 2006 à 18:18:03

                      peut etre ca
                      if (!isset($_SESSION['logged'])) $_SESSION['logged'] = false;
                      mettre == a la place de = mais jsai pas si ca change grand chose, peut etre aussi changer l'orde
                      $_POST['pass_client'] = $_SESSION["pass_client"];
                      $_POST['pseudo'] = $_SESSION["pseudo"];
                      changer par
                      $_SESSION["pass_client"] = $_POST['pass_client'];
                      $_SESSION["pseudo"] = $_POST['pseudo'];
                      mais jsui pas sure non plus.

                      Le
                      <form id="form1" [...]
                      sert a rien le id.

                      Après jsé pas dsl :(:euh:
                      • Partager sur Facebook
                      • Partager sur Twitter
                        26 octobre 2006 à 18:23:03

                        Naaan ça marche toujours pas ^^, c'est pas vrai, moi non plus je ne vois Absolument pas d'où ça vient !

                        Est-ce que quelquain serait réparer ça ?

                        remarque : j'ai éssayé de mettre des " } " après les "else" , il n'y en avait pas, en bas et il me met :

                        Citation

                        Parse error: parse error, unexpected '}' in /homepages/29/d169469997/htdocs/t/conect.php on line 109

                        • Partager sur Facebook
                        • Partager sur Twitter
                          26 octobre 2006 à 18:27:30

                          Tient c'est presque les même compare le tien avec le mien et regarde si ta pas oubliez des ptites virgules kelke part ou des points virugles, ou autres :
                          <?php
                          //Démarrage de la session (à mettre avant tout code xhtml)
                          session_start();

                          //Si la variable $_SESSION['logged'] n'existe pas on la créée.
                          if (!isset($_SESSION['logged']))
                          {
                          $_SESSION['logged'] = false;
                          }
                          if ($_SESSION['logged'] === true)
                          {
                           header("location: membres.php");
                           }


                          //Inclusion du fichier contenant les identifiants de connexion à la base de données.
                          require("config.inc.php");

                          //Connexion à la base de données.
                          mysql_connect($host, $username, $password);
                          mysql_select_db($bdd_name);


                          if ($_SESSION['logged'] === false)
                          {
                             if (isset($_COOKIE['pseudo'], $_COOKIE['mot_passe']))
                             {
                                //Vérification du pseudo.
                                $pseudo = htmlspecialchars($_COOKIE['pseudo']);
                                $mot_passe = htmlspecialchars($_COOKIE['mot_passe']);
                                         
                                //Requête comptant le nombre de pseudos $_POST['pseudo']
                                $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'");
                                   
                                 //Si le pseudo existe.
                                 if (mysql_result($sql,0,'nb_pseudo') == 1)
                                 {
                                       //Vérification du mot de passe
                                       //Information sur le compte du membre.
                                       $sql_infos = mysql_query("SELECT id, mot_passe FROM membres WHERE pseudo='".$pseudo."'");
                                       $donnees = mysql_fetch_array($sql_infos);
                                                 
                                       //Comparaison du mot de passe et vérification que le compte est confirmé.
                                       if ($mot_passe == $donnees['mot_passe'])
                                       {
                                             //Tout est bon, on connecte le membre.
                                             $_SESSION['logged'] = true;
                                             
                                             //Création de 2 variables de sessio, contenant des informations sur le membre.
                                             $_SESSION['id'] = $donnees['id']; //Id du membre.
                                             $_SESSION['pseudo'] = $pseudo; //Pseudo du membre.
                                                                 
                                             //Redirection vers la page membre.
                                             header("location: membres.php");
                                        }
                                  }
                             }
                          }


                          //Si la variable $_POST['connexion'] (bouton submit du formulaire) et la variable $_SESSION['logged'] vaut false (déconnecté) existent.
                          if (isset($_POST['connexion']) && $_SESSION['logged'] === false)
                          {
                                  //Vérification des autres variables.
                                  if (isset($_POST['pseudo'],$_POST['mot_passe']) && !empty($_POST['pseudo']) && !empty($_POST['mot_passe']))
                                  {
                                          //Vérification du pseudo.
                                          $pseudo = htmlspecialchars($_POST['pseudo']);
                                          $mot_passe = htmlspecialchars($_POST['mot_passe']);
                                         
                                          //Requête comptant le nombre de pseudos $_POST['pseudo']
                                          $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'");
                                         
                                          //Si le pseudo existe.
                                          if (mysql_result($sql,0,'nb_pseudo') == 1)
                                          {
                                                  //Vérification du mot de passe
                                                  //Information sur le compte du membre.
                                                  $sql_infos = mysql_query("SELECT id, mot_passe FROM membres WHERE pseudo='".$pseudo."'");
                                                  $donnees = mysql_fetch_array($sql_infos);
                                                 
                                                 
                                                  //Comparaison du mot de passe.
                                                  if ($mot_passe == $donnees['mot_passe'])
                                                  {
                                                                  if (isset($_POST['souvenir']) && $_POST['souvenir'] == 'on')
                                                                  {
                                                                      //Temps d'expiration des cookies (1 an).
                                                                      $expire = time() + 3600 * 24 * 365;

                                                                      setcookie('pseudo', $pseudo, $expire);
                                                                      setcookie('mot_passe', $mot_passe, $expire);
                                                                  }

                                                                  //Tout est bon, on connecte le membre.
                                                                  $_SESSION['logged'] = true;
                                                                 
                                                                  //Création de 2 variables de session, contenant des informations sur le membre.
                                                                  $_SESSION['id'] = $donnees['id']; //Id du membre.
                                                                  $_SESSION['pseudo'] = $pseudo; //Pseudo du membre.
                                                                 
                                                                  //Redirection vers la page membre.
                                                                  header("location: membres.php");
                                                         
                                                         
                                                  }
                                                  else
                                                          echo 'Erreur : le mot de passe est incorrect !';
                                          }
                                          else
                                                  echo 'Erreur : le pseudo n\'existe pas !';
                                  }
                                  else
                                          echo '
                          Erreur : veuillez remplir tous les champs !';
                          }
                          ?>

                          <html>
                                  <head>
                                          <title>Accueil</title>
                                  </head>
                                  <body>
                                          <h1>Bienvenue sur mon site</h1>
                                         
                                          <p>
                                                  <a href="inscription.html">Inscription</a>
                                          </p>
                                         
                                          <form method="post" action="index.php">
                                                  <label for="pseudo">Pseudo : <input type="text" name="pseudo" id="pseudo" /></label>
                                                  <label for="mot_passe">Mot de passe : <input type="password" name="mot_passe" id="mot_passe" /></label>
                                                  <label for="souvenir">Se souvenir de moi ? <input type="checkbox" name="souvenir" id="souvenir" /></label>
                                                  <input type="submit" name="connexion" value="Se connecter" />
                                          </form>
                                  </body>
                          </html>
                          <?php
                          //Déconnection de la base de données.
                          mysql_close();
                          ?>
                          • Partager sur Facebook
                          • Partager sur Twitter
                            26 octobre 2006 à 18:30:48

                            Bah j'ai bien vérifié pourtant ! depuis cette après-midi, et rien, je vois rien, c'est affreux ^^!

                            Ca vient d'où, il n'y a aucune erreur de lancement ni de chargement de page, juste aucune action l'or du clique !
                            • Partager sur Facebook
                            • Partager sur Twitter
                              26 octobre 2006 à 18:51:23

                              Ca doit surement venir de ta bbd, cherche du cotté de tes requetes, regardes, les virgules, les ; et regerde si ta table n'as pas de pb.
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Problème avec un code Session PHP

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown