Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme d'inscription!

Sujet résolu
    30 décembre 2005 à 1:28:45

    Voila les erreurs :

    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/www/joehou.hostingrapid.com/inscription.php:10) in /home/www/joehou.hostingrapid.com/inscription.php on line 45

    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/www/joehou.hostingrapid.com/inscription.php:10) in /home/www/joehou.hostingrapid.com/inscription.php on line 45

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/joehou.hostingrapid.com/inscription.php:10) in /home/www/joehou.hostingrapid.com/inscription.php on line 47


    Voila mon code :
    <?php
    // on teste si le visiteur a soumis le formulaire
    if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
        // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
        if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
            // on teste les deux mots de passe
            if ($_POST['pass'] != $_POST['pass_confirm']) {
                $erreur = 'Les 2 mots de passe sont différents.';
            }
            else {
            $base = mysql_connect ('xxxx', 'xxxx', 'xxxx');
            mysql_select_db ('xxxx', $base);
               
                // on recherche si ce login est déjà utilisé par un autre membre
                $sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'"';
                $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                $data = mysql_fetch_array($req);

                if ($data[0] == 0) {
                    $sql = 'INSERT INTO membre VALUES("", "'.addslashes($_POST['login']).'", "'.md5(addslashes($_POST['pass'])).'&quot;)';
                    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

                    session_start();
                    $_SESSION['login'] = $_POST['login'];
                    header('Location: membre.php');
                    exit();
                }
                else {
                    $erreur = 'Un membre possède déjà ce login.';
                }
            }
        }
        else {
            $erreur = 'Au moins un des champs est vide.';
        }
    }
    ?>
    <html>
    <head>
    <title>Inscription</title>
    </head>

    <body>
    Inscription à l'espace membre :<br />
    <form action="inscription.php" method="post">
    Login : <input type="text" name="login" value="<?php if (isset($_POST['
    login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>"><br />
    Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['
    pass'])) echo stripslashes(htmlentities(trim($_POST['pass']))); ?>"><br />
    Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['
    pass_confirm'])) echo stripslashes(htmlentities(trim($_POST['pass_confirm']))); ?>"><br />
    <input type="submit" name="inscription" value="Inscription">
    </form>
    <?php
    if (isset($erreur)) echo '
    <br />',$erreur;
    ?>
    • Partager sur Facebook
    • Partager sur Twitter
      30 décembre 2005 à 1:42:14

      deja tu peux voir que tout ton code est rouge, donc tu a un probleme de " ou '

      je pense c'est a cette ligne

      $base = mysql_connect ('****', ****', '****');   


      et oui, il manque une 'avant le login ;)

      Faut toujours verifié les ; ' " c'est une mine de probleme au debut ^^
      • Partager sur Facebook
      • Partager sur Twitter
        30 décembre 2005 à 1:44:23

        Je croix pas moi car j'ai regarder ma bdd et j'ai essayer de créer des comptes ca ajoutés les comptes dans ma bdd mais ca disait une erreure
        • Partager sur Facebook
        • Partager sur Twitter
          30 décembre 2005 à 1:45:28

          la ligne que je t'ai donné c'est la 45 ?

          si oui l'erreur est la !
          • Partager sur Facebook
          • Partager sur Twitter
            30 décembre 2005 à 1:45:55

            les sessions doivent toujours être en début de code ... même si les variables sont définies aprés essaye !
            • Partager sur Facebook
            • Partager sur Twitter
              30 décembre 2005 à 1:46:39

              ligne 45-48

              session_start();
              $_SESSION['login'] = $_POST['login'];
              header('Location: membre.php');
              exit();


              Je ne comprend pas?
              les sessions doivent toujours être en début de code ... même si les variables sont définies aprés essaye !


              • Partager sur Facebook
              • Partager sur Twitter
                30 décembre 2005 à 1:47:37

                non désolé, je suis bete c'est flagrant pourtant !



                se met toujours au debut de la page, avant tout code, sinon sa cré des problemes de session(de temp en temp)
                • Partager sur Facebook
                • Partager sur Twitter
                  30 décembre 2005 à 1:50:24

                  Alors mon code comment je le fais ?

                  Je met tous mon code dans corps sauf session_start();
                  $_SESSION['login'] = $_POST['login'];
                  header('Location: membre.php');
                  exit();


                  ???
                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 décembre 2005 à 1:50:44

                    Alors plusieurs choses :

                    <?php

                    session_start();

                    // on teste si le visiteur a soumis le formulaire
                    if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription')
                    {
                        // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
                        if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm'])))
                        {
                            // on teste les deux mots de passe
                            if ($_POST['pass'] != $_POST['pass_confirm'])
                                $erreur = 'Les 2 mots de passe sont différents.';
                            else
                            {
                            $base = mysql_connect ('****', '****', '****');
                            mysql_select_db ('****', $base);
                               
                                // on recherche si ce login est déjà utilisé par un autre membre
                                $sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'"';
                                $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                                $data = mysql_fetch_array($req);

                                if ($data[0] == 0)
                                {

                                ///////////////pense aux htmlentities()////////////////
                                $login = addslashes(htmlentities($_POST['login']));
                                $pass = md5(addslashes(htmlentities($_POST['pass'])));
                                ///////////////////////////////////////////////////////

                                    $sql = 'INSERT INTO membre VALUES("", "'.$login.'", "'.$pass.'";)';
                                    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

                                    $_SESSION['login'] = stripslashes($login);
                                    header('Location: membre.php');
                                    exit();
                                }
                                else
                                {
                                    $erreur = 'Un membre possède déjà ce login.';
                                }

                            //ferme ta connection mysql//
                            mysql_close();
                            /////////////////////////////

                            }
                        }
                        else {
                            $erreur = 'Au moins un des champs est vide.';
                        }
                    }
                    ?>
                    <html>
                    <head>
                    <title>Inscription</title>
                    </head>

                    <body>
                    Inscription à l'espace membre :<br />
                    <form action="inscription.php" method="post">
                    Login : <input type="text" name="login" value="<?php if (isset($_POST['
                    login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>"><br />
                    Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['
                    pass'])) echo stripslashes(htmlentities(trim($_POST['pass']))); ?>"><br />
                    Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['
                    pass_confirm'])) echo stripslashes(htmlentities(trim($_POST['pass_confirm']))); ?>"><br />
                    <input type="submit" name="inscription" value="Inscription">
                    </form>
                    <?php
                    if (isset($erreur)) echo '
                    <br />',$erreur;
                    ?>
                       


                    Edit : J'avais oublier le session_start(); en haut ^^
                    • Partager sur Facebook
                    • Partager sur Twitter
                      30 décembre 2005 à 1:51:49

                      Comme sa, sa doit marché


                      <?php
                      session_start(); // Tout le temp au debut !
                      // on teste si le visiteur a soumis le formulaire
                      if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
                          // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
                          if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
                              // on teste les deux mots de passe
                              if ($_POST['pass'] != $_POST['pass_confirm']) {
                                  $erreur = 'Les 2 mots de passe sont différents.';
                              }
                              else {
                              $base = mysql_connect ('xxxx', 'xxxx', 'xxxx');
                              mysql_select_db ('xxxx', $base);
                                 
                                  // on recherche si ce login est déjà utilisé par un autre membre
                                  $sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'"';
                                  $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                                  $data = mysql_fetch_array($req);

                                  if ($data[0] == 0) {
                                      $sql = 'INSERT INTO membre VALUES("", "'.addslashes($_POST['login']).'", "'.md5(addslashes($_POST['pass'])).'";)';
                                      mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

                                      // pas de session start ici sa peut buger
                                      $_SESSION['login'] = $_POST['login'];
                                      header('Location: membre.php');
                                      exit();
                                  }
                                  else {
                                      $erreur = 'Un membre possède déjà ce login.';
                                  }
                              }
                          }
                          else {
                              $erreur = 'Au moins un des champs est vide.';
                          }
                      }
                      ?>
                      • Partager sur Facebook
                      • Partager sur Twitter
                        30 décembre 2005 à 1:55:46

                        p***** j'avais mis 2fois html pi body pi plein derreures! laisser moi 5 min je corrige pi je test pi jvous revien!


                        BON MON CODE MARCHE C'EST MOI LE CON!!! DESOLER!
                        • Partager sur Facebook
                        • Partager sur Twitter
                          30 décembre 2005 à 5:26:52

                          Pas compliquez de mettre probleme resolu ^^
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Probleme d'inscription!

                          × 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