Transférer checkbox vers un base de donnée en
mreiwa
Messages postés
87
Date d'inscription
Statut
Membre
Dernière intervention
-
ReDLoG -
ReDLoG -
Bonjour:)
j'ai utilisé la requéte ci-dessus pour récupérer les données à un base de données ;mais les champs checkbox ne transmettre pas correctement le choix vers base de données ,(dans mon formulaire l'internaute doit choisissez son sexe :M/F
et son type:enfant/adulte/adolescent)
et voila mon code "fichier :inserction.php"
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "ofollowme" ) ;
//récupération des valeurs des champs:
//nom:
$nom = $_POST["nom"] ;
//prenom:
$prenom = $_POST["prenom"] ;
//male:
$M = $_POST["M"] ;
//femelle:
$F = $_POST["F"] ;
//checkbox enfant:
$enfant = $_POST["enfant"] ;
//checkbox adolescent:
$adolescent = $_POST["adolescent"] ;
//checkbox adulte:
$adulte = $_POST["adulte"] ;
// email:
$email = $_POST["email"] ;
// img:
$img = $_POST["img"] ;
//login:
$login = $_POST["login"] ;
// pw:
$pw = $_POST["pw"] ;
//création de la requête SQL:
$sql = "INSERT INTO enfant (nom, prenom, M, F, enfant, adolescent, adulte, email, img, login, pw )
VALUES ( '$nom', '$prenom', '$M', '$F', '$enfant', '$adolescent', '$adulte', '$email', '$img ', '$login ', '$pw') " ;
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo("L'insertion a été correctement effectuée") ;
}
else
{
echo("L'insertion à échouée") ;
}
include("index.php");
?>
et voila le code de mon formulaire:
<form name="enregistrer" class="register" method="POST" action="insertion.php" >
<h3>Inscription</h3>
<div class="column">
<div>
<label><span class="Style1">*</span> Nom :</label>
<input type="text" name="nom"/>
</div>
<div>
<label><span class="Style1">*</span> Prénom :</label>
<input type="text" name="prenom"/>
</div>
<div>
<label>Sexe :
<table width="180">
<tr>
<td><center>Male<br/><input name="M" type="checkbox" value="M" /></center></td>
<td><center> Femelle <br/><input name="F" type="checkbox" value="F" /></center></td>
</tr>
</table>
</div>
<div>
<label><span class="Style1">*</span> Type :
<table width="200" border="0">
<tr>
<td><center>Enfant <input name="enfant" type="checkbox" value="enfant" /></center></td>
<td><center> Adolescent <input name="adolescent" type="checkbox" value="adolescent" /></center></td>
<td> <center> Adulte <input name="adulte" type="checkbox" value="adulte" /></center></td>
</tr>
</table>
</label></div>
<div>
<label><span class="Style1">*</span>Email :</label>
<input name="email" type="text" />
</div>
<div>
<label><span class="Style1">*</span> Telephone :</label>
<input name="tel" type="text" />
</div>
</div>
<div class="column">
<div>
<img src="images/profil_icon.jpg" />
<input type="file" size="10" name="img" />
<input type="hidden" name="MAX_FILE_SIZE" value="20000"/>
</div>
<div>
<label><span class="Style1">*</span> Nom d'utilisateur :</label>
<input name="login" type="text" />
</div>
<div>
<label><span class="Style1">*</span>Mot de passe :</label>
<input name="pw" type="password" />
</div>
</div>
<div class="bottom">
<input name="ajouter" type="submit" value="ajouter" onCLick="javascript:verif()" />
<a href="index.php" rel="login" class="linkform">Vous avez déjà un compte? Connectez-vous ici</a>
<div class="clear"></div>
</div>
</form>
et comment obliger l'internaute pour cocher une seul choix
et merci d'avance :)
j'ai utilisé la requéte ci-dessus pour récupérer les données à un base de données ;mais les champs checkbox ne transmettre pas correctement le choix vers base de données ,(dans mon formulaire l'internaute doit choisissez son sexe :M/F
et son type:enfant/adulte/adolescent)
et voila mon code "fichier :inserction.php"
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "ofollowme" ) ;
//récupération des valeurs des champs:
//nom:
$nom = $_POST["nom"] ;
//prenom:
$prenom = $_POST["prenom"] ;
//male:
$M = $_POST["M"] ;
//femelle:
$F = $_POST["F"] ;
//checkbox enfant:
$enfant = $_POST["enfant"] ;
//checkbox adolescent:
$adolescent = $_POST["adolescent"] ;
//checkbox adulte:
$adulte = $_POST["adulte"] ;
// email:
$email = $_POST["email"] ;
// img:
$img = $_POST["img"] ;
//login:
$login = $_POST["login"] ;
// pw:
$pw = $_POST["pw"] ;
//création de la requête SQL:
$sql = "INSERT INTO enfant (nom, prenom, M, F, enfant, adolescent, adulte, email, img, login, pw )
VALUES ( '$nom', '$prenom', '$M', '$F', '$enfant', '$adolescent', '$adulte', '$email', '$img ', '$login ', '$pw') " ;
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo("L'insertion a été correctement effectuée") ;
}
else
{
echo("L'insertion à échouée") ;
}
include("index.php");
?>
et voila le code de mon formulaire:
<form name="enregistrer" class="register" method="POST" action="insertion.php" >
<h3>Inscription</h3>
<div class="column">
<div>
<label><span class="Style1">*</span> Nom :</label>
<input type="text" name="nom"/>
</div>
<div>
<label><span class="Style1">*</span> Prénom :</label>
<input type="text" name="prenom"/>
</div>
<div>
<label>Sexe :
<table width="180">
<tr>
<td><center>Male<br/><input name="M" type="checkbox" value="M" /></center></td>
<td><center> Femelle <br/><input name="F" type="checkbox" value="F" /></center></td>
</tr>
</table>
</div>
<div>
<label><span class="Style1">*</span> Type :
<table width="200" border="0">
<tr>
<td><center>Enfant <input name="enfant" type="checkbox" value="enfant" /></center></td>
<td><center> Adolescent <input name="adolescent" type="checkbox" value="adolescent" /></center></td>
<td> <center> Adulte <input name="adulte" type="checkbox" value="adulte" /></center></td>
</tr>
</table>
</label></div>
<div>
<label><span class="Style1">*</span>Email :</label>
<input name="email" type="text" />
</div>
<div>
<label><span class="Style1">*</span> Telephone :</label>
<input name="tel" type="text" />
</div>
</div>
<div class="column">
<div>
<img src="images/profil_icon.jpg" />
<input type="file" size="10" name="img" />
<input type="hidden" name="MAX_FILE_SIZE" value="20000"/>
</div>
<div>
<label><span class="Style1">*</span> Nom d'utilisateur :</label>
<input name="login" type="text" />
</div>
<div>
<label><span class="Style1">*</span>Mot de passe :</label>
<input name="pw" type="password" />
</div>
</div>
<div class="bottom">
<input name="ajouter" type="submit" value="ajouter" onCLick="javascript:verif()" />
<a href="index.php" rel="login" class="linkform">Vous avez déjà un compte? Connectez-vous ici</a>
<div class="clear"></div>
</div>
</form>
et comment obliger l'internaute pour cocher une seul choix
et merci d'avance :)
A voir également:
- Transférer checkbox vers un base de donnée en
- Base de registre - Guide
- Transférer message whatsapp - Accueil - WhatsApp
- Comment transférer iphone vers iphone manuellement - Guide
- Comment transferer une boite mail vers une autre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
1 réponse
Bonsoir,
Pour cocher un seul choix, il faut normalement utiliser des input de type "radio" :
Que tu récupères ainsi dans ton script :
Au passage ta table est mal pensée, car un enregistrement ne peut avoir qu'un sexe (soit mâle, soit femelle, je ne connais pas d'humain hermaphrodite lol) et qu'un type soit enfant, soit adolescent, soit adulte (bien que l'on dit souvent que les adultes sont de grands enfants lol).
Donc réorganise ta table "enfant" et la requête devient :
Pour cocher un seul choix, il faut normalement utiliser des input de type "radio" :
Sexe :<br /> Male <input type="radio" name="sexe[]" value="M" /><br /> Femelle <input type="radio" name="sexe[]" value="F" /><br /> Type :<br /> Enfant <input type="radio" name="categorie[]" value="enfant" /><br /> Adolescent <input type="radio" name="categorie[]" value="adolescent" /><br /> Adulte <input type="radio" name="categorie[]" value="adulte" />
Que tu récupères ainsi dans ton script :
if(isset($_POST['sexe']) && $_POST['sexe'] == 'M') { $sexe = 'M'; } else { $sexe = 'F'; } if(isset($_POST['categorie']) && $_POST['categorie'] == 'enfant') { $categorie = 'enfant'; } else if(isset($_POST['categorie']) && $_POST['categorie'] == 'adolescent') { $categorie = 'adolescent'; } else { $categorie = 'adulte'; }
Au passage ta table est mal pensée, car un enregistrement ne peut avoir qu'un sexe (soit mâle, soit femelle, je ne connais pas d'humain hermaphrodite lol) et qu'un type soit enfant, soit adolescent, soit adulte (bien que l'on dit souvent que les adultes sont de grands enfants lol).
Donc réorganise ta table "enfant" et la requête devient :
$sql = "INSERT INTO enfant (nom, prenom, sexe, categorie, email, img, login, pw) VALUES( '$nom', '$prenom', '$sexe', '$categorie', '$email', '$img ', '$login ', '$pw')";