Formulaire et base donnée XHTML MYSQL

Bonjour,
Il y a dans mon formulaire, des input type=radio.
Je voudrais savoir comment enregistrer le choix de l'utilisateur dans la Base de donnée MYSQL.

Merci.

--
Novice en PHP.
Expert en ambition.

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. il faut penser avant tout a securiser ton site e utilisant mysql_real_escape_string(htmlspecialchars dans ton code car une simple injection SQL pourrait tout foutre pour ton site
    merci
    1. Oui je l'ai fais exprès.

      Sexe: <span class="optio">
                                                 <input type="radio" name="sexe" value="homme" id="homme" /> <label for="homme">Homme</label><br><br>
       &nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;
                                                <input type="radio" name="sexe" value="femme" id="femme" /> <label for="femme">Femme</label></span><br><br>
      

      Code XHTML de inscription.php

      if (isset($_POST['login']) AND isset($_POST['password']) AND isset($_POST['sexe'])) // Si les variables existent
      {
      
          if ($_POST['login'] != NULL AND $_POST['password'] != NULL AND $_POST['email'] != NULL AND $_POST['nom'] != NULL AND $_POST['prenom'] != NULL AND $_POST['sexe'] != NULL) // Si on a quelque chose à enregistrer
          {
              // D'abord, on se connecte à MySQL
              mysql_connect("**", "**", "**");
              mysql_select_db("jeu");
       
              // Ensuite on enregistre le message
              mysql_query("INSERT INTO membre VALUES('', '$rqt_login', '$rqt_password', '$rqt_email', '$rqt_nom', '$rqt_prenom', '$sexe', '".$_SERVER["REMOTE_ADDR"]."')");
              mysql_query("UPDATE membre SET sexe = '". $_POST['sexe']."' WHERE sexe");
              // On se déconnecte de MySQL
              mysql_close();
          }
          else
          {
      echo '<center><span class="rouge_fonce">Il y a des champs vides.</span></center>';
          }
      }


      Code MYSQL de inscription.php
      1. Salut,

        $rqt_login

        ou prends tu ces variables, si ce sont des valeurs postées il faudrait les récupérer

        car si dans ta config php Register_global est à off ce qui est le cas par défaut, c'est obligatoire de les recupérer.

        alors

        $rqt_login=$_POST['rqt_login'];
        
        etc...
        
        avant ta requette


        Ensuite pourquoi deux requettes:

        mysql_query("INSERT INTO membre VALUES('', '$rqt_login', '$rqt_password', '$rqt_email', '$rqt_nom', '$rqt_prenom', '$sexe', '".$_SERVER["REMOTE_ADDR"]."')");
        mysql_query("UPDATE membre SET sexe = '". $_POST['sexe']."' WHERE sexe");


        la première insère les valeurs, alors inutile de venir ensuite modifier ce que tu viens juste d'insérer, d'autant plus que la deuxième est fausse

        il faut une condition:

        "UPDATE membre SET sexe = '". $_POST['sexe']."' WHERE sexe="'". $_POST['sexe']."'";
        


        et là tu vois bien que tu remplace home par homme ou femme par femme
    2. mysql_connect("", "", "");
      Déjà la tu te connectes à rien. Est-ce que tu l'as fait exprès pour ne pas mettre ces infos sur ccm? Ensuite il me faudrait le code de la page d'avant. Et le code de la page actuelle.
      1.         mysql_connect("", "", "");
                mysql_select_db("jeu");
         
        
        mysql_query("INSERT INTO membre VALUES('', '$rqt_login', '$rqt_password', '$rqt_email', '$rqt_nom', '$rqt_prenom', '$sexe', '".$_SERVER["REMOTE_ADDR"]."')");
        
        mysql_query("UPDATE membre SET sexe = '". $_POST['sexe']."' WHERE sexe");
        
        
                mysql_close();


        Alors qu'est-ce qui ne vas pas dans mon code ?:/
        1. Re bonsoir, le script que tu m'as fournis ne fonctionne pas.
          Peut-être que ça ne marche pas car il y a deux "mysql_query"
          1. Salut,
            dans la page cible de ton formulaire :
            <?php
            mysql_query("UPDATE nom_de_ta_table SET nom_du_champ = '". $_POST['name_du_radiobutton']."' WHERE condition"); ?>