Perte de donnée

Fermé
ines - 27 nov. 2007 à 14:02
 ines2007 - 3 déc. 2007 à 12:49
Bonjour,
j'ai fait la création d'un site web en php où on a 2 types d'inscription: client et enseignant.
le problème c que je reçois parfois des inscriptions vides dans les 2 types d'inscription.
j'ai dans les formulaires d'inscription l'élément : select multiple que la plupart des pertes se fait à son niveau.
NB :je fais un contrôle javascript et un contrôle sur le serveur pour vérifier que j'ai au moins une sélection; et malgré ces 2 contrôles
la perte existe encore.
merci de m'aider.

8 réponses

bonjour,

ça veut dire quoi, la perte existe encore, si tu fais un contrôle sur le serveur ?
Peux-tu montrer le script ?
0
ZOUARI Messages postés 60 Date d'inscription lundi 26 avril 2004 Statut Contributeur Dernière intervention 14 mai 2011 29
27 nov. 2007 à 14:10
il faut donner la source (code) pour vous aidez.
0
ines2007 Messages postés 2 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 27 novembre 2007
27 nov. 2007 à 15:18
$civilite=$_POST['civilite'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];

if(empty($civilite)||empty($nom)||empty($prenom)) {
echo'veuillez vérifier la saisie de vos données';
}
elseif(empty($_POST["heure"]))// heure:select multiple
{
echo' Veuillez choisir les heures auxquelles vous désirez être appelé';
}
else{$req2="INSERT INTO ...//insertion dans la BD
}
0
ines2007 Messages postés 2 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 27 novembre 2007
27 nov. 2007 à 15:45
Est-ce que le problème peut être dû à la récupération avec un 'post' pour le select multiple et non pas avec un '$HTTP_POST_VARS' ?
parce que j'ai vu ici : http://www.commentcamarche.net/forum/affich 680119 recuperer en php un select multiple formulai
que le HTTP_POST_VARS' est plus conseillé
0

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

Posez votre question
$_POST convient mieux que HTTP_POST_VARS. HTTP_POST_VARS est obsolète (voir doc PHP)
Le INSERT INTO serait intéressant. Le contenu $_POST["heure"] aussi.
0
je ne trouve toujours pas de solution pour mon problème, j'ai encore qq inscription perdues dans le select multiple.
0
Bonjour

Peux-tu montrer le script complet ? (en cachant les éventuels identifiants, bien sûr)
0
formulaire:
<?PHP
include("connexion.php");
$req="SELECT num_mat,matiere FROM liste_matiere";
$res= mysql_query($req);
?>
Matières désirées:</font></b>
<select name="matiere[]" multiple>
<?php
while($data=mysql_fetch_row($res)){
echo'<option value="'.$data[0].'">'.$data[1].'</option>';
}
echo'
</select>';?>
script traitement:
$identite=$_POST['identite'];
$interet=$_POST['interet'];
$civilite=$_POST['civilite'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$tab= array('mat'=>1);
$j=1;
if(empty($identite)||empty($interet)||empty($civilite)||empty($nom)||empty($prenom))
{
echo'euillez vérifier la saisie de vos données</font></center>';
}
elseif(empty($_POST["matiere"])){ // matiere: select multiple
echo' veuillez choisir au moins une matière';
}
else{
$req="INSERT INTO client(identite,interet,civilite,nom,prenom)
VALUES('$identite','$interet','$civilite','$nom','$prenom''')";
$result= mysql_query($req);
if($result)
{
foreach($_POST["matiere"] as $value)
{
$tab[$j]=$value;
$j++;
}
for($p=1;$p<sizeof($tab);$p++)
{
$req2="INSERT INTO choix_mat(numero,matiere)VALUES('$prenom','$tab[$p]')";
$res2=mysql_query($req2);
}
}}
//remarque: la perte se fait uniquement au niveau du select multiple,c à dire je ne récupère pas les matières selectionnées.
dans le formulaire, le contenu du select multiple: matiere est chargé depuis la base de donnée.
merci d'avance pour votre aide.
0