Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probléme avec un formulaire d'inscription

j'ai un message d'erreur

    31 décembre 2005 à 9:52:04

    Bonjour tout le monde,

    Comme le titre l'indique, j'ai un petit souci avec ma page d'inscrition à l'espace membre:

    Citation : voila le code de ma page inscription.php

    <?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 ('localhost', 'root', '');
    mysql_select_db ('bdd1', $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());

    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.';
    }
    }
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <title>Bienvenue sur tout-pour-tous.com ! </title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="Design page accueil" href="index.css" />
    </head>
    <body>

    <!-- Ici on mettra la bannière -->

    <div id="en_tete">

    <a href="index.php"> <img src="images/logo.gif" alt="Page d'accueil de tout-pour-tous.com" border="none"/> </a>

    </div>

    <!-- la je mets le nombre de connectés et le lien pour s'inscrire -->


    <!-- Ici je mets le haut du corps avec vente unitaire et en lots -->

    <div id="haut">

    <a href="achat_unitaire.php"><img src="images/unitaire.gif" alt="Achat à l'unité" border="none" /> </a>--------------------------------------<a href="allo_pass.php"><img src="images/lots.gif" alt="Accés aux achats en lots" border="none" /></a>

    <h4><?php
    // Enregistrons les informations de date dans des variables

    $jour = date("d");
    $mois = date("m");
    $annee = date("Y");

    $heure = date("H");
    $minute = date("i");

    // Maintenant on peut afficher ce qu'on a recueilli
    echo "Bonjour ! Nous sommes le $jour/$mois/$annee et il est $heure h $minute.";
    ?>
    </h4>

    </div>

    <div id="menu">

    <?php

    include("#menu.php");

    ?>

    </div>


    <!-- Ici on mettra le contenu principal de la page (tout le texte quoi) -->

    <div id="corps">

    <div align="center"> Inscription </div><p>

    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;
    ?>


    </div>

    <!-- Enfin, on mettra en bas de la page le nom de l'auteur, un copyright... -->

    <div id="pied_de_page">

    <?php

    // On inclue le haut de la page

    include("#pied_de_page.php");

    ?>

    </div>


    </body>
    </html>



    Voila quand je teste ma page et que je mets un login et un mdp pour m'inscrire, je trouve ca sur la page:

    Erreur SQL !INSERT INTO membre VALUES("", "spiritmaniac", "f9071446318f7d1a208535ef9e47359c")
    Column count doesn't match value count at row 1

    Merci pour votre aide et bonne année à tous !!!
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      31 décembre 2005 à 10:42:06

      Rolala le boulet, prends le code PHP !(commence a en avoir mare, c'est pas dure à comprendre ce truc !)
      Aller comme un bébé jle fais pour toi...-_________________-

      <?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 ('localhost', 'root', '');
      mysql_select_db ('bdd1', $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.';
      }
      }
      ?>

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
      <head>
      <title>Bienvenue sur tout-pour-tous.com ! </title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <link rel="stylesheet" media="screen" type="text/css" title="Design page accueil" href="index.css" />
      </head>
      <body>

      <!-- Ici on mettra la bannière -->

      <div id="en_tete">

      <a href="index.php"> <img src="images/logo.gif" alt="Page d'accueil de tout-pour-tous.com" border="none"/> </a>

      </div>

      <!-- la je mets le nombre de connectés et le lien pour s'inscrire -->


      <!-- Ici je mets le haut du corps avec vente unitaire et en lots -->

      <div id="haut">

      <a href="achat_unitaire.php"><img src="images/unitaire.gif" alt="Achat à l'
      unité" border="none" /> </a>--------------------------------------<a href="allo_pass.php"><img src="images/lots.gif" alt="Accés aux achats en lots" border="none" /></a>

      <h4><?php
      // Enregistrons les informations de date dans des variables

      $jour = date("
      d");
      $mois = date("
      m");
      $annee = date("
      Y");

      $heure = date("
      H");
      $minute = date("
      i");

      // Maintenant on peut afficher ce qu'on a recueilli
      echo "
      Bonjour ! Nous sommes le $jour/$mois/$annee et il est $heure h $minute.";
      ?>
      </h4>

      </div>

      <div id="
      menu">

      <?php

      include("
      #menu.php&quot;);

      ?>

      </div>


      <!-- Ici on mettra le contenu principal de la page (tout le texte quoi) -->

      <div id="corps">

      <div align="center"> Inscription </div><p>

      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;
      ?>


      </div>

      <!-- Enfin, on mettra en bas de la page le nom de l'
      auteur, un copyright... -->

      <div id="pied_de_page">

      <?php

      // On inclue le haut de la page

      include("#pied_de_page.php");

      ?>

      </div>


      </body>
      </html>


      • Partager sur Facebook
      • Partager sur Twitter
        31 décembre 2005 à 10:59:35

        Merci d'essayer de m'aider mais pour me traiter de boulet c pas trés cool excuse moi de débuté et de faire des erreurs toi tu en a surement jamais fait.

        De plus j'ai encore plus d'erreur avec ton code:

        include("#menu.php";);
        le point virgule en trop qui n'y été pas tout à l'heure

        et le formulaire ne marche tjs pas, j'ai tjs un message d'erreur:
        Erreur SQL !INSERT INTO membre VALUES("", "spiritmaniac", "f9071446318f7d1a208535ef9e47359c";)
        You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ';)' at line 1

        Merci quand même pour ton aide... Si tu a d'autre idée pour corriger mon erreur je serait ravis de les connaitres.

        • Partager sur Facebook
        • Partager sur Twitter
          31 décembre 2005 à 11:10:44

          je pense que ton erreur vien de la

          $base = mysql_connect ('localhost', 'root', '');
          mysql_select_db ('bdd1', $base);


          mysql_connect ('localhost', 'root', '');
          mysql_select_db ('bdd1');
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            31 décembre 2005 à 11:24:59

            Rolala c'est bon c pas compliqu" utilise le Zcode, sans regarder le tuto jaiç reussis a faire ca, fo pas etre très intelligent pourtant, (yen a vraiment).
            Ta beosin d'un tuto pour tout dans la vie ?
            Alors ce soir tu vas en boite tu as besoin d'un tuto pour savoir par ou fo rentrer ?
            En tt cas moi je sors :lol:
            • Partager sur Facebook
            • Partager sur Twitter
              31 décembre 2005 à 11:32:34

              Non ca marche tjs pas :s

              voila le message d'erreur:

              Erreur SQL !INSERT INTO membre VALUES("", "spiritmaniac", "0a2993f807cac25b70b5670cdd6f10f4";)
              You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ';)' at line 1

              Merci quand méme Weanonsb ;)

              Et merci a ceux qui auront le courage de chercher mon erreur

              Edit:

              Je pense que l'erreur se situe la dedans mais je vois pas ou :s

              <?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 ('localhost', 'toutp_moi', 'pourtoi07');
              mysql_select_db ('toutp_bdd1', $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());

              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.';
              }
              }
              ?>


              Merci pour votre aide +++
              • Partager sur Facebook
              • Partager sur Twitter

              Probléme avec un formulaire 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