Problème avec une requete dans une boucle

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 : Problème avec une requete dans une boucle

par topbreizh35 » 27 oct. 2007, 13:20

Re salut voici le message d'erreur
Notice: Undefined variable: dom1 in d:\mes sites web\site esvvg\acces_bureau\saisie_calendrier_equipe_index.php on line 30

Notice: Undefined variable: visi1 in d:\mes sites web\site esvvg\acces_bureau\saisie_calendrier_equipe_index.php on line 30

Notice: Undefined variable: dom2 in d:\mes sites web\site esvvg\acces_bureau\saisie_calendrier_equipe_index.php on line 30

Notice: Undefined variable: visi2 in d:\mes sites web\site esvvg\acces_bureau\saisie_calendrier_equipe_index.php on line 30

Notice: Undefined variable: dom3 in d:\mes sites web\site esvvg\acces_bureau\saisie_calendrier_equipe_index.php on line 30

Notice: Undefined variable: visi3 in d:\mes sites web\site esvvg\acces_bureau\saisie_calendrier_equipe_index.php on line 30

Notice: Undefined variable: dom4 in d:\mes sites web\site esvvg\acces_bureau\saisie_calendrier_equipe_index.php on line 30

Notice: Undefined variable: visi4 in d:\mes sites web\site esvvg\acces_bureau\saisie_calendrier_equipe_index.php on line 30

par Invité » 18 oct. 2007, 17:47

Il n'y a pas de message d'erreur, mais rien n'ai renvoyer dans ma base de donnée.
Voici le code de ma page entière car je ne vois pas ou est l'erreur.
Merci d'avance.
<div class="droite">
<h1>Saisie des équipes <?php echo $_GET['equipe_html']; ?></h1>
<center>
			<a href="../accesbureau_non_proteger.php"><img src="../image/accueil_acces_bureau.gif"></a>
		<br/></center>
<?php include("lien_equipe.php")?><br/><br/><br/>
<?php include("../connect.php");?>
<form method="post" action="liste_equipe_index.php?equipe_html=<?php echo $_GET['equipe_html']; ?>&equipe_bd=<?php echo $_GET['equipe_bd']; ?>">
	<fieldset>
	<legend>Indiquer ci-dessous le nombre d'équipe a saisir</legend><br/>
	<input type="text" size="3" name="nb_equipe"/><br/>
	</fieldset>

	<fieldset>
	<legend>Saisissez vos équipes</legend><br/>
<?php

for ($nb=1;$nb<=($nb_equipe);$nb++)
{
?>
		<input type="text" name="equipe[<?php echo "$nb";?>]"> 

<?php
}
?>

<br/><br/>			<input type="submit" name="Envoyer" value="Envoyer"/>
	</fieldset>
</form>
<?php
$nb_equipe=htmlentities($_POST['nb_equipe']);

if(isset($_POST['equipe'])) 
{
for($i=1;$i<=$nb_equipe;$i++)
{
}
foreach($post['equipe'] as $numero_equipe => $equipe)
mysql_query("INSERT INTO liste_$equipe_bd (equipe) VALUES('".$equipe."')")  or die(mysql_error());	
}
?>

<?php
	mysql_close();
?>
</div>
</body>
</html>

par d0m » 18 oct. 2007, 15:57

Il n' y a pas de message d'afficher.
C'est que tout marche alors....

par Invité » 18 oct. 2007, 15:51

Il n' y a pas de message d'afficher.

par d0m » 18 oct. 2007, 14:37

Ca ne marche toujours pas je vous donne le code retaper.
Pourrais tu être plus précis :
il y a un message d'erreur php?
il y a un message d'erreur sql?
qu'est ce que cela affiche précisement?

par Invité » 18 oct. 2007, 14:32

Ca ne marche toujours pas je vous donne le code retaper.
<?php

for ($nb=1;$nb<=($nb_equipe);$nb++)
{
?>
		<input type="text" name="equipe[<?php echo "$nb";?>]"> 

<?php
}
?>

<br/><br/>			<input type="submit" name="Envoyer" value="Envoyer"/>
	</fieldset>
</form>
<?php
$nb_equipe=htmlentities($_POST['nb_equipe']);

if(isset($_POST['equipe'])) 
{
foreach($post['equipe'] as $nb => $equipe) 

mysql_query("INSERT INTO liste_$equipe_bd (equipe) VALUES('".$equipe."')") or die(mysql_error());	

}


?>

par d0m » 18 oct. 2007, 14:00

plusieurs choses :


- premièrement, il n'y a pas dans ton formulaire d'input ou autre chose avec l'attribut NAME="equipe"
donc $_POST['equipe'] n'existera jamais

- deuxièmement, il serait plus pratique pour tes INPUT de leur donner commne attribut name un tableau:
<input type="text" name="equipe[<?php echo "$nb";?>]">
cette fois ci, tu pourras faire le test:
if(isset($_POST['equipe']))
et ensuite parcourir les valeurs de cette manière :
foreach($post['equipe'] as $numero_equipe => $equipe)
- ensuite pense à sortir les variables php de tes chaines :
mysql_query("INSERT INTO liste_".$equipe."_bd (equipe) VALUES('".$equipe."')")
- dernièrement, c'est très dangereux d'injecter directement des chaines issues de zone texte dans tes requêtes sql. Il y a des fonctions php pour sécuriser cela. (voir faille sql injections)

par topbreizh35 » 18 oct. 2007, 13:50

Voici le code avec le input
<legend>Saisissez vos équipes</legend><br/>
<?php

for ($nb=1;$nb<=($nb_equipe);$nb++)
{
?>
		<input type="text" name="equipe<?php echo "$nb";?>"/>

<?php
}
?>

<br/><br/>			<input type="submit" name="Envoyer" value="Envoyer"/>
	</fieldset>
</form>
<?php
$nb_equipe=htmlentities($_POST['nb_equipe']);
$equipe  = $_POST['equipe'.$i];

if(isset($_POST['equipe']))
{
if($_POST['equipe1']!=NULL)
	{
for($i=1;$i<=$nb_equipe;$i++)
{
$equipe = $_POST['equipe'.$i];

mysql_query("INSERT INTO liste_$equipe_bd (equipe) VALUES('$equipe')") or die(mysql_error());	
}
}
}

?>

par d0m » 18 oct. 2007, 13:40

il manque le code de ton formulaire en question

Problème avec une requete dans une boucle

par topbreizh35 » 18 oct. 2007, 13:35

Salut tous le monde. J'ai un problème avec une requete dans une boucle. J'ai un formulaire avec un input qui suivant un champ renseigner génere plusieur input incrémenter. Ce qui me donne $equipe1, $equipe2 ects.. Mon problème est de renvoyer dans une table les données des input. Voici mon code. Si quelqu'un peut m'aider merci d'avance.
<legend>Saisissez vos équipes</legend><br/>
<?php

for ($nb=1;$nb<=($nb_equipe);$nb++)
{
?>
		<input type="text" name="equipe<?php echo "$nb";?>"/>

<?php<?php
$nb_equipe=htmlentities($_POST['nb_equipe']);
$equipe  = $_POST['equipe'.$i];

if(isset($_POST['equipe']))
{
if($_POST['equipe1']!=NULL)
	{
for($i=1;$i<=$nb_equipe;$i++)
{
$equipe = $_POST['equipe'.$i];

mysql_query("INSERT INTO liste_$equipe_bd (equipe) VALUES('$equipe')") or die(mysql_error());	
}
}
}

?>
[/i]