Probleme en php
Résolu
Profil bloqué
-
vladivostok Messages postés 228 Date d'inscription Statut Membre Dernière intervention -
vladivostok Messages postés 228 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je n'arriva pas à comprendre pourquoi j'ai l'erreur suivante :
Notice: Undefined index: Envoie in C:\wamp\www\TPC\Php\AdminSiteSondage.php on line 479
Mon code est le suivant :
if ($test == $NouveauSondageSuite)
{
$Titre1 = $_POST['Titre'];
if ($_POST['Envoie'] == "OK")
{
$ValeurAvant = $_POST['Nb_choix'];
$Ajout = $_POST['NCategorie'];
$Valeur = $Valeur + $Ajout;
}
else
{
$Valeur = $_POST['Nb_choix'];
}
echo"
<div class='NouveauSondage'>
<form method='post' action='AdminSiteSondage.php?Page=Nouveau&Autre=fin' name='F1'>
<div class='TitreNouveau2'> </div>
<div class='SelectChoix'>Titres catégories :</div>
<table class='TableNouveauSondage4'>";
for ($i = 0; $i < $Valeur; $i++)
{
$numero = $i + 1;
echo"<tr>
<td class='LigneTableau'>Titre $numero :</td>
<td class='LigneTableau'><input type='text' name='Choix[]' value='' size='24'></td>
</tr>";
}
echo"</table></form>";
?>
<form method="POST" action='AdminSiteSondage.php?Page=Nouveau&Suite=etape2'>
<div class="AjoutNouveau">Nouvelles catégorie :
<select name='NCategorie' value=''>
<option value=''>Nombre</option>
<option value='1'>1</option><option value='2'>2</option><option value='3'>3</option>
<option value='4'>4</option><option value='5'>5</option><option value='6'>6</option>
</select>
<input type="submit" name="Envoie" value="OK" />
</div>
}
Je suis desolé si le code n'est pas trés lisible.
Si quelqu'un a une idée du probleme
Merci d'avance.
Flareski
Je n'arriva pas à comprendre pourquoi j'ai l'erreur suivante :
Notice: Undefined index: Envoie in C:\wamp\www\TPC\Php\AdminSiteSondage.php on line 479
Mon code est le suivant :
if ($test == $NouveauSondageSuite)
{
$Titre1 = $_POST['Titre'];
if ($_POST['Envoie'] == "OK")
{
$ValeurAvant = $_POST['Nb_choix'];
$Ajout = $_POST['NCategorie'];
$Valeur = $Valeur + $Ajout;
}
else
{
$Valeur = $_POST['Nb_choix'];
}
echo"
<div class='NouveauSondage'>
<form method='post' action='AdminSiteSondage.php?Page=Nouveau&Autre=fin' name='F1'>
<div class='TitreNouveau2'> </div>
<div class='SelectChoix'>Titres catégories :</div>
<table class='TableNouveauSondage4'>";
for ($i = 0; $i < $Valeur; $i++)
{
$numero = $i + 1;
echo"<tr>
<td class='LigneTableau'>Titre $numero :</td>
<td class='LigneTableau'><input type='text' name='Choix[]' value='' size='24'></td>
</tr>";
}
echo"</table></form>";
?>
<form method="POST" action='AdminSiteSondage.php?Page=Nouveau&Suite=etape2'>
<div class="AjoutNouveau">Nouvelles catégorie :
<select name='NCategorie' value=''>
<option value=''>Nombre</option>
<option value='1'>1</option><option value='2'>2</option><option value='3'>3</option>
<option value='4'>4</option><option value='5'>5</option><option value='6'>6</option>
</select>
<input type="submit" name="Envoie" value="OK" />
</div>
}
Je suis desolé si le code n'est pas trés lisible.
Si quelqu'un a une idée du probleme
Merci d'avance.
Flareski
A voir également:
- Probleme en php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
15 réponses
Bonjour, essaye ceci :
<?php
if ($test == $NouveauSondageSuite)
{
$Titre1 = $_POST['Titre'];
if ($_POST['Envoie'] == "OK")
{
$ValeurAvant = $_POST['Nb_choix'];
$Ajout = $_POST['NCategorie'];
$Valeur = $Valeur + $Ajout;
}
else
$Valeur = $_POST['Nb_choix'];
echo
"
<div class='NouveauSondage'>
<form method='post' action='AdminSiteSondage.php?Page=Nouveau&Autre=fin' name='F1'>
<div class='TitreNouveau2'> </div>
<div class='SelectChoix'>Titres catégories :</div>
<table class='TableNouveauSondage4'>";
for ($i = 0; $i < $Valeur; $i++)
{
$numero = $i + 1;
echo"<tr>
<td class='LigneTableau'>Titre $numero :</td>
<td class='LigneTableau'><input type='text' name='Choix[]' value='' size='24'></td>
</tr>";
}
echo"</table></form>";
?>
<form method="POST" action='AdminSiteSondage.php?Page=Nouveau&Suite=etape2'>
<div class="AjoutNouveau">Nouvelles catégorie :
<select name='NCategorie' value=''>
<option value=''>Nombre</option>
<option value='1'>1</option><option value='2'>2</option><option value='3'>3</option>
<option value='4'>4</option><option
*value='5'>5</option><option value='6'>6</option>
</select>
<input type="submit" name="Envoie" value="OK" />
</div>
<?php
}
<?php
if ($test == $NouveauSondageSuite)
{
$Titre1 = $_POST['Titre'];
if ($_POST['Envoie'] == "OK")
{
$ValeurAvant = $_POST['Nb_choix'];
$Ajout = $_POST['NCategorie'];
$Valeur = $Valeur + $Ajout;
}
else
$Valeur = $_POST['Nb_choix'];
echo
"
<div class='NouveauSondage'>
<form method='post' action='AdminSiteSondage.php?Page=Nouveau&Autre=fin' name='F1'>
<div class='TitreNouveau2'> </div>
<div class='SelectChoix'>Titres catégories :</div>
<table class='TableNouveauSondage4'>";
for ($i = 0; $i < $Valeur; $i++)
{
$numero = $i + 1;
echo"<tr>
<td class='LigneTableau'>Titre $numero :</td>
<td class='LigneTableau'><input type='text' name='Choix[]' value='' size='24'></td>
</tr>";
}
echo"</table></form>";
?>
<form method="POST" action='AdminSiteSondage.php?Page=Nouveau&Suite=etape2'>
<div class="AjoutNouveau">Nouvelles catégorie :
<select name='NCategorie' value=''>
<option value=''>Nombre</option>
<option value='1'>1</option><option value='2'>2</option><option value='3'>3</option>
<option value='4'>4</option><option
*value='5'>5</option><option value='6'>6</option>
</select>
<input type="submit" name="Envoie" value="OK" />
</div>
<?php
}
Comme son nom l'indique:
Tu as une variable non défini à la ligne 479 dans le fichier AdminSiteSondage.php.
Peux tu mettre ici la ligne en question ?
Notice: Undefined index: Envoie in C:\wamp\www\TPC\Php\AdminSiteSondage.php on line 479
Tu as une variable non défini à la ligne 479 dans le fichier AdminSiteSondage.php.
Peux tu mettre ici la ligne en question ?
Merci à vous pour les réponses je vais essayer la premiére proposition. Pour répondre à arthezius la ligne 479 c'est la suivante :
if ($_POST['Envoie'] == "OK")
if ($_POST['Envoie'] == "OK")
if ($_POST['Envoie'] == "OK")
Cela doit etre un probleme de majuscule a mon avis
$_POST['envoie'] <-- il ne faut pas utiliser de majuscule
Cela doit etre un probleme de majuscule a mon avis
$_POST['envoie'] <-- il ne faut pas utiliser de majuscule
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Soit tu n'a pas de superglobal $_POST avec comme nom Envoie,
Soit essaye de mettre sans majuscule je ne sais plus si la casse est prise en compte ou non, sinon fait un
if (isset ($_POST['Envoie']))
{
/* Le reste du code */
}
avant pour que tu n'est plus ce problème.
Soit essaye de mettre sans majuscule je ne sais plus si la casse est prise en compte ou non, sinon fait un
if (isset ($_POST['Envoie']))
{
/* Le reste du code */
}
avant pour que tu n'est plus ce problème.
C'est vrai que l'on peut faire comme cela mais c'est plus pratique de séparer les conditions afin de déterminer et renvoyer une erreur au niveau ou elle se trouve ainsi tu ne pourra connaitre qu'un niveau d'erreur avec ta condition alors qu'avec des conditions séparées tu peut mettre des else à tout tes niveaux de conditions ainsi tu sais ou sa plante c'est plus pratique pour le débuging après c'est sur qu'en pratique c'est plus simple de faire comme tu le fait et surtout plus rapide.
if (isset ($_POST['Envoie']))
{
if ($_POST['Envoie'] == 'OK')
{
/* le reste du code */
}
else
{
echo 'La variable n'est pas egal a OK';
}
}
else
{
echo 'la variable n'est pas définit';
}
Encore un conseil n'utilise jamais des valeurs de post directement dans ton code sans passer par des vérifications comme htmlspecialchars ou addslashes et j'en oublie afin d'éviter les problèmes de sécurité.
if (isset ($_POST['Envoie']))
{
if ($_POST['Envoie'] == 'OK')
{
/* le reste du code */
}
else
{
echo 'La variable n'est pas egal a OK';
}
}
else
{
echo 'la variable n'est pas définit';
}
Encore un conseil n'utilise jamais des valeurs de post directement dans ton code sans passer par des vérifications comme htmlspecialchars ou addslashes et j'en oublie afin d'éviter les problèmes de sécurité.
Malgré tous vos conseils, l'erreur persiste, sans pour autant comprendre d'ou elle vient. Est ce que cela peut venir du fait que mon url soit composée :
AdminSiteSondage.php?Page=Nouveau&Suite=etape2
Je ne pensse pas que cela vienne de la case j'ai toujours nomé mais variable avec une majuscule sans aucun probléme.
Franchement je ne vois pas d'ou peut venir l'erreur.
AdminSiteSondage.php?Page=Nouveau&Suite=etape2
Je ne pensse pas que cela vienne de la case j'ai toujours nomé mais variable avec une majuscule sans aucun probléme.
Franchement je ne vois pas d'ou peut venir l'erreur.
Bien sur que cela viens de la ta variable n'est pas envoyer par post on ne la trouve pas dans ton url il faudrait que quelque part on voit ?Envoie=OK
Essaye de faire comme je t'ai dit au dessus tu verra ou exactement ton code plante et tu pourra corriger ensuite.
Essaye de faire comme je t'ai dit au dessus tu verra ou exactement ton code plante et tu pourra corriger ensuite.
Déjà dans ton code cela ne va pas si tu veut passer la variable Envoie par post il faudrait que tu rajoute une ligne comme :
<input type="hidden" name="Envoie" id="Envoie" value="OK" />
avant la fin de ta <form>
<input type="hidden" name="Envoie" id="Envoie" value="OK" />
avant la fin de ta <form>
Merci vladivostok pour le conseil j'ai testé le code et comme attendu j'ai eu le message 'la variable n'est pas définit'.
d'ou peut bien venir le probléme je me demande pourquoi cette variable n'est pas définie
d'ou peut bien venir le probléme je me demande pourquoi cette variable n'est pas définie
En fait tu essaye de faire passer une variable par intermédiaire d'un formulaire et dans ce formulaire du bouton sur lequel tu clique donc c'est pour cela que sa ne marche pas pour que sa marche rajoute la ligne
<input type="hidden" name="Envoie" id="Envoie" value="OK" />
avant ton bouton c'est a dire <input type="submit" />
et tout rentrera dans l'ordre.
<input type="hidden" name="Envoie" id="Envoie" value="OK" />
avant ton bouton c'est a dire <input type="submit" />
et tout rentrera dans l'ordre.
En fait voila ton code que j'ai modifier.
if ($test == $NouveauSondageSuite)
{
$Titre1 = $_POST['Titre'];
if (isset ($_POST['Envoie']))
{
if ($_POST['Envoie'] == "OK")
{
$ValeurAvant = $_POST['Nb_choix'];
$Ajout = $_POST['NCategorie'];
$Valeur = $Valeur + $Ajout;
}
else
{
$Valeur = $_POST['Nb_choix'];
}
}
else
{
echo 'la variable n'est pas définit.'
}
echo"
<div class='NouveauSondage'>
<form method='post' action='AdminSiteSondage.php?Page=Nouveau&Autre=fin' name='F1'>
<div class='TitreNouveau2'> </div>
<div class='SelectChoix'>Titres catégories :</div>
<table class='TableNouveauSondage4'>";
for ($i = 0; $i < $Valeur; $i++)
{
$numero = $i + 1;
echo"<tr>
<td class='LigneTableau'>Titre $numero :</td>
<td class='LigneTableau'><input type='text' name='Choix[]' value='' size='24'></td>
</tr>";
}
echo"</table></form>";
?>
<form method="POST" action='AdminSiteSondage.php?Page=Nouveau&Suite=etape2'>
<div class="AjoutNouveau">Nouvelles catégorie :
<select name='NCategorie' value=''>
<option value=''>Nombre</option>
<option value='1'>1</option><option value='2'>2</option><option value='3'>3</option>
<option value='4'>4</option><option value='5'>5</option><option value='6'>6</option>
</select>
<input type="hidden" name="Envoie" id="Envoie" value="OK" />
<input type="submit" />
</div>
}
La sa devrai marcher.
if ($test == $NouveauSondageSuite)
{
$Titre1 = $_POST['Titre'];
if (isset ($_POST['Envoie']))
{
if ($_POST['Envoie'] == "OK")
{
$ValeurAvant = $_POST['Nb_choix'];
$Ajout = $_POST['NCategorie'];
$Valeur = $Valeur + $Ajout;
}
else
{
$Valeur = $_POST['Nb_choix'];
}
}
else
{
echo 'la variable n'est pas définit.'
}
echo"
<div class='NouveauSondage'>
<form method='post' action='AdminSiteSondage.php?Page=Nouveau&Autre=fin' name='F1'>
<div class='TitreNouveau2'> </div>
<div class='SelectChoix'>Titres catégories :</div>
<table class='TableNouveauSondage4'>";
for ($i = 0; $i < $Valeur; $i++)
{
$numero = $i + 1;
echo"<tr>
<td class='LigneTableau'>Titre $numero :</td>
<td class='LigneTableau'><input type='text' name='Choix[]' value='' size='24'></td>
</tr>";
}
echo"</table></form>";
?>
<form method="POST" action='AdminSiteSondage.php?Page=Nouveau&Suite=etape2'>
<div class="AjoutNouveau">Nouvelles catégorie :
<select name='NCategorie' value=''>
<option value=''>Nombre</option>
<option value='1'>1</option><option value='2'>2</option><option value='3'>3</option>
<option value='4'>4</option><option value='5'>5</option><option value='6'>6</option>
</select>
<input type="hidden" name="Envoie" id="Envoie" value="OK" />
<input type="submit" />
</div>
}
La sa devrai marcher.
Oui l'erreur venait du fait que je n'avais pas défini la variable avant l'envoi
Merci pour les reponses
Flareski.
Merci pour les reponses
Flareski.