Partage
  • Partager sur Facebook
  • Partager sur Twitter

Identifacation pour acces site

    2 décembre 2006 à 15:44:25

    Bonjour,

    J'ai créé un systeme d'identification/enregistrement des personne voulant aller sur mon site. (login, mot de pass)

    Mais biensure j'ai un soucis :

    J'ai une erreur de syntax sur la ligne 32 :

    Parse error: syntax error, unexpected '<' in /mnt/125/sdb/7/e/adeline.donisi/login.php on line 32

    Voici mon script :

    <?
    mysql_connect("sql.free.fr", "mon log", "mon pass");
    mysql_select_db("tbl_user");

    if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
      extract($_POST);
      // on recupère le password de la table qui correspond au login du visiteur
      $sql = "select pwd from tbl_user where login='".$login."'";
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

      $data = mysql_fetch_assoc($req);

      if($data['pwd'] != $pass) {
        echo '<p>Mauvais login / password. Merci de recommencer</p>';
        include('login.htm'); // On inclut le formulaire d'identification
        exit;
      }
      else {
        session_start();
        $_SESSION['login'] = $login;
       
        echo 'Vous etes bien logué';
       
       <p>
            <a href="Page 2.php">Site valentin</a>
       </p>
        // ici vous pouvez afficher un lien pour renvoyer
        // vers la page d'accueil de votre espace membres
      }   
    }
    else {
      echo '<p>Vous avez oublié de remplir un champ.</p>';
       include('login.htm'); // On inclut le formulaire d'identification
       exit;
    }


    ?>

    la ligne 32 commence à
    <p>
            <a href="Page 2.php">Site valentin</a>
       </p>


    Je débute en PHP et je ne sais pas quoi faire.

    Merci ;)
    • Partager sur Facebook
    • Partager sur Twitter
      2 décembre 2006 à 15:47:05

      tu met du html dans du php

      tu as 2 solutions: soit tu ferme ta balise php avant le html et tu la réouvre après sois tu fais un echo(); du html
      • Partager sur Facebook
      • Partager sur Twitter
        2 décembre 2006 à 15:53:26

        Salut !

        <?
        mysql_connect("sql.free.fr", "mon log", "mon pass");
        mysql_select_db("tbl_user");

        if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
          extract($_POST);
          // on recupère le password de la table qui correspond au login du visiteur
          $sql = "select pwd from tbl_user where login='".$login."'";
          $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

          $data = mysql_fetch_assoc($req);

          if($data['pwd'] != $pass) {
            echo '<p>Mauvais login / password. Merci de recommencer</p>';
            include('login.htm'); // On inclut le formulaire d'identification
            exit;
          }
          else {
            session_start();
            $_SESSION['login'] = $login;
           
            echo 'Vous etes bien logué <br> <a href="Page 2.php">Site valentin</a>';
               
            // ici vous pouvez afficher un lien pour renvoyer
            // vers la page d'accueil de votre espace membres
          }   
        }
        else {
          echo '<p>Vous avez oublié de remplir un champ.</p>';
           include('login.htm'); // On inclut le formulaire d'identification
           exit;
        }


        ?>


        Voila tu aura pas de prob ça va passez !

        EDIT : Part contre je viens de remarquer que tu a une page qui se nome : Page 2.php

        Attention !!!!! Y a un espace entre Page et 2, tu devrais faire comme ceci : Page_2.php ou tout attacher : Page2.php, sinon tu aura Page%2.php
        • Partager sur Facebook
        • Partager sur Twitter
          2 décembre 2006 à 16:15:41

          Merci ;)

          Effectivement c'était tout bete (comme souvant)!

          Mais là un probleme s'en va, un autre arrive.

          Voici la page qui s'affiche lorque je soumet on identification ... :(

          Citation : Pas de titre

          Warning: session_start() [function.session-start]: open(/mnt/125/sdb/7/e/adeline.donisi/sessions/sess_21e69661eef730089942305fbe309b59, O_RDWR) failed: No such file or directory (2) in /mnt/125/sdb/7/e/adeline.donisi/login.php on line 2

          Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/125/sdb/7/e/adeline.donisi/login.php:2) in /mnt/125/sdb/7/e/adeline.donisi/login.php on line 2

          Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/125/sdb/7/e/adeline.donisi/login.php:2) in /mnt/125/sdb/7/e/adeline.donisi/login.php on line 2
          Vous etes bien logué
          Site valentin
          Warning: Unknown(): open(/mnt/125/sdb/7/e/adeline.donisi/sessions/sess_21e69661eef730089942305fbe309b59, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

          Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/125/sdb/7/e/adeline.donisi/sessions) in Unknown on line 0



          Là je pense que le souci plus concéquant.

          Voici mon script en entier :

          <?php
          session_start(); // On démarre la session AVANT toute chose
          ?>

          <html>

          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
          <title>Nouvelle page 1</title>
          </head>

          <body>
          <?
          mysql_connect("sql.free.fr", "mon log", "mon pass");
          mysql_select_db("tbl_user");

          if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
            extract($_POST);
            // on recupère le password de la table qui correspond au login du visiteur
            $sql = "select pwd from tbl_user where login='".$login."'";
            $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

            $data = mysql_fetch_assoc($req);

            if($data['pwd'] != $pass) {
              echo '<p>Mauvais login / password. Merci de recommencer</p>';
              include('login.htm'); // On inclut le formulaire d'identification
              exit;
            }
            else {
              session_start();
              $_SESSION['login'] = $login;
             
              echo 'Vous etes bien logué <br> <a href="Page 2.php">Site valentin</a>';   
           
              // ici vous pouvez afficher un lien pour renvoyer
              // vers la page d'accueil de votre espace membres
            }   
          }
          else {
            echo '<p>Vous avez oublié de remplir un champ.</p>';
             include('login.htm'); // On inclut le formulaire d'identification
             exit;
          }


          ?>
          </body>

          </html>


          Merci pour l'aide ;)
          • Partager sur Facebook
          • Partager sur Twitter
            2 décembre 2006 à 16:29:06

            tu fais 2 session_start() dont un qui se trouve après du code html
            • Partager sur Facebook
            • Partager sur Twitter
              2 décembre 2006 à 16:38:16

              Que faut il que je fasse alors ?? :euh:

              Meme en enlevent le 2eme session_start() ça plante... :(

              • Partager sur Facebook
              • Partager sur Twitter
                2 décembre 2006 à 16:45:15


                <html>

                <head>
                <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
                <title>Nouvelle page 1</title>
                </head>

                <body> !!!!!!!!!!!!
                • Partager sur Facebook
                • Partager sur Twitter
                  2 décembre 2006 à 17:04:45

                  Quand j'enleve le session start mon identification se fait bien mais mais que pour la page d'identification.
                  La session ne suit pas sur les autres pages de mon site.
                  Si je tape directement l'url de ma Page 2 pour reprendre l'exemple de mon script j'y ai acces sans identification et ça je ne veux pas.
                  Je souhaite que le gents s'identifient.

                  Mais j'ai un souci quand je met le session_start().

                  Qu'est ce qu'il se passe au juste ??? o_O

                  Il ne faut pas rentrer une variable du genre :

                  $_SESSION['login'] = $login; ????
                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 décembre 2006 à 17:09:47

                    Le session_start() n°2 est à enlever, et le 1er à garder.
                    Maintenant si ton session_start() ne marche pas, ya une raison.

                    Si tu es chez Free, il y a un truc à la con à faire.
                    Primo créée un fichier phpinfo.php que tu mets à la racine de ton site et lance-le
                    <?php
                    phpinfo();
                    ?>

                    Cherche le module "sessions" et dedans tu trouvera l'adresse Unix du dossier où le serveur de Free s'attend à trouver les fichiers de session.
                    Récupère cette adresse et remplace-là dans un fichier a.php que tu place à la racine et exécute
                    <?php
                    $chemin = 'le chemin du dossier';
                    mkdir($chemin);
                    ?>

                    Tu auras un dossier créé à la racine de ton site, avec les bon droits. Le créer par FTP directement n'aurait pas donné les bons droits, j'ai déjà essayé.

                    Une fois que t'as fait ça tu peux utiliser les session sans blèmes ;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 décembre 2006 à 17:26:47

                      Pardon pour cette question bete mais ça ressemble a quoi l'adresse UNIX ???

                      Dans le module session y a un tas de truc dont

                      session.save_path:
                      Local value : /mnt/125/sdb/7/e/mon log/sessions
                      Master value : /cache/sessions

                      C'est ça ???


                      Merci pour le coup de main ! ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 décembre 2006 à 17:28:27

                        la local value ;)
                        mais edit ton message car on voit ton login Free dedans ;)

                        Edit : de toute façon, pour la master value, il faut être admin de Free lui-même pour y avoir accès donc... :p
                        • Partager sur Facebook
                        • Partager sur Twitter
                          2 décembre 2006 à 17:42:20

                          Merci Darth Killer !! ;)

                          J'avais pas fais gaffe au login... :p

                          Sur mes autres page de mon site il y a juste a rajouter en ente du script
                          <?php
                          session_start()
                          ?>

                          pour que le reste du site ne soit pas accessible si les gens ne sont pas identifier ou y a t il autre chose a faire ???


                          Merci ;)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            2 décembre 2006 à 17:44:57

                            Nan, c'est à ton script de le gérer.

                            La session PHP est un espace de stockage de variables (pour stocker et mettre à jour automatiquement $login, session_register('login');, l'inverse avec session_unregister('login');, voir la doc php ;) ) donc ce sont tes scripts après qui décideront si un internaute s'est logué ou pas.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              2 décembre 2006 à 17:57:07

                              Ok mais là tout le monde acces au reste du site en tapant directement l'url d'une page.

                              Il doit y avoir quelque chose que j'ai pas fais .....
                              • Partager sur Facebook
                              • Partager sur Twitter
                                2 décembre 2006 à 18:30:14

                                Ok merci du coup de main ;)

                                Je te renvoie le script que j'ai fais :

                                <?php
                                session_start();
                                ?>
                                <html>

                                <head>
                                <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
                                <title>Nouvelle page 1</title>
                                </head>

                                <body>


                                <?
                                mysql_connect("sql.free.fr", "mon log", "mon pass");
                                mysql_select_db("tbl_user");

                                if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
                                  extract($_POST);
                                 
                                  $sql = "select pwd from tbl_user where login='".$login."'";
                                  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

                                  $data = mysql_fetch_assoc($req);

                                  if($data['pwd'] != $pass) {
                                    echo '<p>Mauvais login / password. Merci de recommencer</p>';
                                    include('login.htm'); // On inclut le formulaire d'identification
                                    exit;
                                  }
                                  else {
                                   
                                   
                                    echo 'Vous etes bien logué <br> <a href="Page 2.php">Site valentin</a>';   
                                 
                                    // ici vous pouvez afficher un lien pour renvoyer
                                    // vers la page d'accueil de votre espace membres
                                  }   
                                }
                                else {
                                  echo '<p>Vous avez oublié de remplir un champ.</p>';
                                   include('login.htm'); // On inclut le formulaire d'identification
                                   exit;
                                }


                                ?>
                                </body>

                                </html>


                                Encore merci !!! :)
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Identifacation pour acces site

                                × 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