Formulaire et base donnée XHTML MYSQL

Fermé
2Max- Messages postés 50 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 29 août 2010 - 1 août 2008 à 17:38
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 2 août 2008 à 13:40
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.

7 réponses

Utilisateur anonyme
1 août 2008 à 17:48
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"); ?>
0
2Max- Messages postés 50 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 29 août 2010 2
1 août 2008 à 22:03
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"
0
Utilisateur anonyme
1 août 2008 à 22:17
Le script que je t'ai mis marche, c'est certain. :)
0
2Max- Messages postés 50 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 29 août 2010 2
1 août 2008 à 22:49
        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 ?:/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
1 août 2008 à 23:21
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.
0
2Max- Messages postés 50 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 29 août 2010 2
2 août 2008 à 00:20
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
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
2 août 2008 à 13:40
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
0
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
0