Erreur Undefined index incompréhensible

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur Undefined index incompréhensible

Re: Erreur Undefined index incompréhensible

par Mazarini » 06 mai 2011, 11:38

Bonjour,

C'est comme tu veux. Tu peux mettre aussi bien un booleen qu'un caractère genre 'O'/'N' ou '0'/'1'.

Mettre un booléen me semble plus logique, mais c'est un avis personnel.

Pense juste à adapter ton code en fonction de ton choix le traitement de $_POST. Pour info, je crois que l'on peux attribuer une value à la checkbox et que $_POST prend cette valeur si cochée.

Re: Erreur Undefined index incompréhensible

par diabolo67 » 06 mai 2011, 09:20

Merci Mazarini pour ta remarque.

Il me reste encore une petite question, dans ma base de donnée les enregistrements concernant les checkbox faut-il les mettre en type boolean ou est ce que je peux les garder en char taille 1 ?

merci,
diabolo

Re: Erreur Undefined index incompréhensible

par Mazarini » 05 mai 2011, 17:38

Bonjour,

Pour les checkbox, la variable n'est renseignée que si celle-ci est cochée. Il faut donc faire $toto = isset($_POST['toto']);

Re: Erreur Undefined index incompréhensible

par diabolo67 » 05 mai 2011, 16:38

:D Je pourrais pas vous dire pourquoi mais après un dump sur mes variables, j'ai réécris celle qui ne collais pas et maintenant tout fonctionne.

Merci à tous ceux qui ont pris un peu de leur temps pour me venir en aide.*

Bonne fin d'après midi à tous !

Re: Erreur Undefined index incompréhensible

par misterflo » 05 mai 2011, 16:12

Vérifie que ces variables ne sont pas vides avant de les mettre dans la requête SQL.
var_dump($nom1);
var_dump($prenom1);
var_dump($mail1);

Re: Erreur Undefined index incompréhensible

par diabolo67 » 05 mai 2011, 15:54

bon j'ai revérifier entièrement mon code html,

cette fois plus d'erreur d'afficher mes deux de mes rubriques ne sont pas enregistrer dans ma base !
if (isset ($_POST['valider'])){
	//On récupère les valeurs entrées par l'utilisateur :
	$accept=$_POST['accept'];
	$structure=$_POST['structure'];
	$etablissement=$_POST['etablissement'];
	$adresse=$_POST['adresse'];
	$cp=$_POST['cp'];
	$ville=$_POST['ville'];
	$mail=$_POST['mail'];
	$site=$_POST['site'];
	$nbveto=$_POST['nbveto'];
	$nom1=$_POST['nom1'];
	$prenom1=$_POST['prenom1'];
	$mail1=$_POST['mail1'];
	$enva1=$_POST['enva1'];
	$envl1=$_POST['envl1'];
	$envt1=$_POST['envt1'];
	$autres1=$_POST['autres1'];
	$cn1=$_POST['cn1'];
	$bov1=$_POST['bov1'];
	$eq1=$_POST['eq1'];
	$nac1=$_POST['nac1'];
$sql = "INSERT INTO demande VALUES('','$accept','$structure','$etablissement','$adresse','$cp','$ville','$mail','$site','$nbveto','$nom1','$prenom1','$mail1','$enva1','$envl1','$envt1','$autres1','$cn1','$bov1','$eq1','$nac1')";
            <table width="499" border="0" bgcolor="#F1DAC4">
              <tr>
                <td width="51">Nom</td>
                <td colspan="2"><input type="text" name="nom1"/></td>
                <td width="32"><div align="right">ENVA</div></td>
                <td width="20"><input type="checkbox" name="enva1"/></td>
                <td width="30"><div align="right">ENVL</div></td>
                <td width="20"><input type="checkbox" name="envl1"/></td>
                <td width="26"><div align="right">ENVT</div></td>
                <td width="22"><input type="checkbox" name="envt1"/></td>
                <td width="32"><div align="right">Autres</div></td>
                <td width="22"><input type="checkbox" name="autres1"/></td>
                </tr>
              <tr>
                <td>Pr&eacute;nom</td>
                <td colspan="2"><input type="text" name="prenom1"/></td>
                <td>e-mail</td>
                <td colspan="7"><input type="text" name="mail1"/></td>
                </tr>
              <tr>
                <td>Ann&eacute;e diplome</td>
                <td width="144"><input type="text" name="nom1" maxlength="4"/></td>
                <td width="54">Sp&eacute;cialit&eacute;</td>
                <td><div align="right">CN</div></td>
                <td><input type="checkbox" name="cn1"/></td>
                <td><div align="right">BOV</div></td>
                <td><input type="checkbox" name="bov1"/></td>
                <td><div align="right">EQ</div></td>
                <td><input type="checkbox" name="eq1"/></td>
                <td><div align="right">NAC</div></td>
                <td><input type="checkbox" name="nac1"/></td>
                </tr>
              <tr>
            </table>
Il s'agit de nom1, prenom1 et mail1 et le reste fonctionne

Re: Erreur Undefined index incompréhensible

par misterflo » 05 mai 2011, 15:21

Es-tu sur qu'au niveau de ton code HTML tous les champs existent ? Parce que d'après les erreurs non :D

Re: Erreur Undefined index incompréhensible

par diabolo67 » 05 mai 2011, 15:15

zut c'est ce code qui ne fonctionne pas (tenez pas compte du code php du message précédent)
if (isset ($_POST['valider'])){
	//On récupère les valeurs entrées par l'utilisateur :
	$accept=$_POST['accept'];
	$structure=$_POST['structure'];
	$etablissement=$_POST['etablissement'];
	$adresse=$_POST['adresse'];
	$cp=$_POST['cp'];
	$ville=$_POST['ville'];
	$mail=$_POST['mail'];
	$site=$_POST['site'];
	$nbveto=$_POST['nbveto'];
	$nom1=$_POST['nom1'];
	$prenom1=$_POST['prenom1'];
	$mail1=$_POST['mail1'];
	$enva1=$_POST['enva1'];
	$envl1=$_POST['envl1'];
	$envt1=$_POST['envt1'];
	$autres1=$_POST['autres1'];
	$cn1=$_POST['cn1'];
	$bov1=$_POST['bov1'];
	$eq1=$_POST['eq1'];
	$nac1=$_POST['nac1'];
$sql = "INSERT INTO demande VALUES('','$accept','$structure','$etablissement','$adresse','$cp','$ville','$mail','$site','$nbveto','$nom1','$prenom1','$mail1','$enva1','$envl1','$envt1','$autres1','$cn1','$bov1','$eq1','$nac1')";
merci

Re: Erreur Undefined index incompréhensible

par diabolo67 » 05 mai 2011, 15:12

Toujours les mêmes :

undefined structure in C:\wamp\www\vethica\formulaire_echantillon_puce.php on line 7
Undefined index: envt1 in C:\wamp\www\vethica\formulaire_echantillon_puce.php on line 20
Undefined index: autres1 in C:\wamp\www\vethica\formulaire_echantillon_puce.php on line 21
Undefined index: cn1 in C:\wamp\www\vethica\formulaire_echantillon_puce.php on line 22
Undefined index: eq1 in C:\wamp\www\vethica\formulaire_echantillon_puce.php on line 24
Undefined index: nac1 in C:\wamp\www\vethica\formulaire_echantillon_puce.php on line 25
if (isset ($_POST['valider'])){
	//On récupère les valeurs entrées par l'utilisateur :
	$accept=$_POST['accept'];
	$structure=$_POST['structure'];
	$etablissement=$_POST['etablissement'];
	$adresse=$_POST['adresse'];
	$cp=$_POST['cp'];
	$ville=$_POST['ville'];
	$mail=$_POST['mail'];
	$site=$_POST['site'];
	$nbveto=$_POST['nbveto'];
			$sql = 'INSERT INTO demande VALUES("","'.$accept.'","'.$structure.'","'.$etablissement.'","'.$adresse.'","'.$cp.'","'.$ville.'","'.$mail.'","'.$tel.'","'.$site.'"'.$nbveto.'")';

Re: Erreur Undefined index incompréhensible

par Mazarini » 05 mai 2011, 14:07

Bonjour,
...
Par contre dès que je rajoute les suivantes, les nouvelles mentions ne veulent plus rentrer !!
...
Un message d'erreur peut être ?

Re: Erreur Undefined index incompréhensible

par diabolo67 » 05 mai 2011, 13:05

Salut MisterFlo,

J'ai copier coller ton code les mentions enva1 et envl1 fonctionne bien maintenant et tout s'enregistre.

Par contre dès que je rajoute les suivantes, les nouvelles mentions ne veulent plus rentrer !!
$sql = "INSERT INTO demande VALUES('','$accept','$structure','$etablissement','$adresse','$cp','$ville','$mail','$site','$nbveto','$nom1','$prenom1','$mail1','$enva1','$envl1','$envt1','$autres1','$cn1','$bov1','$eq1','$nac1')";
if (isset ($_POST['valider'])){
	//On récupère les valeurs entrées par l'utilisateur :
	$accept=$_POST['accept'];
	$structure=$_POST['structure'];
	$etablissement=$_POST['etablissement'];
	$adresse=$_POST['adresse'];
	$cp=$_POST['cp'];
	$ville=$_POST['ville'];
	$mail=$_POST['mail'];
	$site=$_POST['site'];
	$nbveto=$_POST['nbveto'];
	$nom1=$_POST['nom1'];
	$prenom1=$_POST['prenom1'];
	$mail1=$_POST['mail1'];
	$enva1=$_POST['enva1'];
	$envl1=$_POST['envl1'];
	$envt1=$_POST['envt1'];
	$autres1=$_POST['autres1'];
	$cn1=$_POST['cn1'];
	$bov1=$_POST['bov1'];
	$eq1=$_POST['eq1'];
	$nac1=$_POST['nac1'];

C'est à rien y comprendre !! Et les mentions existe bel et bien dans la base !

Re: Erreur Undefined index incompréhensible

par misterflo » 05 mai 2011, 11:58

Salut,

pour te simplifier la vie, au lieu de mettre des guillemets simple et double de partout, encadre ta requête avec des guillemets double, ensuite les valeurs dans la requête simplement avec des guillemets simple:
$sql = "INSERT INTO demande VALUES('','$accept','$structure','$etablissement','$adresse','$cp','$ville','$mail','$site','$nbveto','$nom1','$prenom1','$mail1','$enva1','$envl1')";
De plus ta dernière valeur n'avait pas de $ ce qui devait poser problème !


Il faut absolument que tes valeurs soient sécurisées avant d'être inséré dans la ta bdd !
- Soit avec une requête preparé en PDO : http://fr2.php.net/manual/fr/book.pdo.php,
- Ou alors avec un mysql_escape_string : http://php.net/manual/fr/function.mysql ... string.php

Re: Erreur Undefined index incompréhensible

par diabolo67 » 05 mai 2011, 11:31

Bonjour macgavel,

Oui dans ma base j'ai bien insérer un champs pour enval1 et dans mon code insert j'ai écris ceci :
$sql = 'INSERT INTO demande VALUES("","'.$accept.'","'.$structure.'","'.$etablissement.'","'.$adresse.'","'.$cp.'","'.$ville.'","'.$mail.'","'.$site.'","'.$nbveto.'","'.$nom1.'","'.$prenom1.'","'.$mail1.'","'.$enva1.'","'.envl1.'")';
Parfois le message ne s'affiche pas, mais dans tous les cas rien ne s'insére dans ma base pour enval1

Re: Erreur Undefined index incompréhensible

par macgawel » 05 mai 2011, 11:00

Bonjour.

Le message t'indique que $_POST['enva1'] n'existe pas...

1. Pour vérifier, tu peux faire un print_r($_POST); en début de script, pour voir le contenu de $_POST.
2. Tu as bien créé le champ dans ton formulaire ?

Re: Erreur Undefined index incompréhensible

par diabolo67 » 05 mai 2011, 10:58

Cette fois je n'ai plus d'erreur mais rien ne s'enregistre dans ma base !!!