formulaire dynamique et recupération de variables

Eléphanteau du PHP | 34 Messages

09 août 2008, 13:48

Bonjour,

j'ai cette page affichée à partir d'une bdd.
j'ai mis une case à cocher pour sélectionner les évènements à supprimer.
les "id" de chaque evenement apparaissent bien dans l'affichage de la page mais,aucune variable ne part vers la page action supprimer.php.
var_dump sur n'importe quel champs retourne "null"

ça doit être évident mais ...comprends pas...
merci d'avance pour vos suggestions.
kayorn

Code : Tout sélectionner

<? $id=$_post['id']; $_session['id']=$id; require ("fonct_connect.php"); $sql = 'SELECT * FROM evenements'; $req = mysql_query($sql) or die('Erreur SQL ! '.$sql.' '.mysql_error()); while($data = mysql_fetch_array($req)) { ?> <form id="form1" name="form1" method="post" action="supprimer.php"> <table width="600" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="116">date:</td> <td width="478"><?php echo $data['date'];?></td> </tr> <tr> <td>Copro</td> <td><input type="text" name="nomcopro" value="<?php echo $data['nomcopro'];?>" /></td> </tr> <tr> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td>Ev&egrave;nement</td> <td><textarea name="evenement" cols="70" rows="10">texte: <?php echo $data['evenement'];?></textarea></td> </tr> <tr> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr> <td>Concerne</td> <td><input type="text" name="<?php $data['concerne']?>" value="<?php echo $data['concerne'];?>"/> <input type="text" name="tel" value="<?php echo $data['tel'];?>"/></td> </tr> <tr> <td>&nbsp;</td> <td></td> </tr> <tr> <td>Trait&eacute; par: </td> <td><input type="text" name="traitepar" value="<?php echo $data['traitepar'];?>"/></td> </tr> <tr><?php $id=$data['id']; echo $id;?> <td><input type='checkbox' name="<?php $id ?>" value='<?php $id ?>'> supprimer</td> <td></td> </tr> </table> <p><br /> <br /> <? } ?> </p> <input type="submit" name="Submit" value="Supprimer" /> </form> <p>&nbsp;</p>
[/php]
kayorn
"Je ne crois pas en l'au-delà, mais j'emporte tout de même un caleçon de rechange." --woody allen

ViPHP
ViPHP | 3607 Messages

09 août 2008, 14:02

Bonjour,
ALors déjà, si tu pouvais reposter ton code en l'encadrant de balises php et non pas code ;)
Ensuite, j'ai eu beau cherché, je n'ai pas vu d'input contenant l'id?
Fait nous un print_r($_POST) pour voir?

edit:
j'ai trouvé:
<td><input type='checkbox' name="<?php $id ?>" value='<?php $id ?>'> 
mais pourquoi nommer l'input avec la valeur de ce dernier?

Mammouth du PHP | 1668 Messages

09 août 2008, 14:22

edit:
j'ai trouvé:
<td><input type='checkbox' name="<?php $id ?>" value='<?php $id ?>'> 
mais pourquoi nommer l'input avec la valeur de ce dernier?
J'ai pas tout lu, mais tu a soublié echo :
<td><input type='checkbox' name="<?php echo $id; ?>" value='<?php echo $id; ?>' />
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
ViPHP | 3607 Messages

09 août 2008, 14:23

Bien vu!
J'avions même pô vu...

Eléphanteau du PHP | 34 Messages

09 août 2008, 20:37

ok avec balise php
<? 
$id=$_post['id']; 
$_session['id']=$id; 

require ("fonct_connect.php");
$sql = 'SELECT * FROM evenements'; 
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error()); 
while($data = mysql_fetch_array($req)) 
{ 
?>
<form id="form1" name="form1" method="post" action="supprimer.php">
<table width="600" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td width="116">date:</td>
    <td width="478"><?php echo $data['date'];?> </td>
  </tr>
  <tr>
    <td>Copro</td>
    <td><input type="text" name="nomcopro" value="<?php echo $data['nomcopro'];?>" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>Ev&egrave;nement</td>
    <td><textarea name="evenement" cols="70" rows="10">texte:
	<?php echo $data['evenement'];?> </textarea></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>Concerne</td>
    <td><input type="text" name="<?php $data['concerne']?>" value="<?php echo $data['concerne'];?>"/> 
	<input type="text" name="tel" value="<?php echo $data['tel'];?>"/></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td></td>
  </tr>
  <tr>
    <td>Trait&eacute; par: </td>
    <td><input type="text" name="traitepar" value="<?php echo $data['traitepar'];?>"/></td>
  </tr>
  <tr><?php $id=$data['id']; echo $id;?>
    <td><input type='checkbox' name="<?php $id ?>" value='<?php $id ?>'>
    supprimer</td>
    <td></td>
  
  </tr>
</table>
<p><br />
  <br />
  <?  } 



?>

</p>
  <input type="submit" name="Submit" value="Supprimer" />
</form>

<p>&nbsp;</p>
j'avais essayé en nommant la checkbox avec sa valeur mais j'ai oublié de revenir sur son nom "evenement"
ce qui me gonfle, c'est que les valeurs de "id" s'affichent dans cette page
http://ridolfi.essai.free.fr/alpha/affichage.php
( au dessus de chaque tableau...) elle ne sont pas récupérées quand je coche une case et que j'envoie , rien n'est affiché.

même si le script est minimaliste, devrait au moins y avoir la valeur del'id cochée?
<?php
require ("fonct_connect.php");?>

<input type="text" name="id" value="<?php echo $data['id'];?>" />



<?php echo $data['id'];?>

ok j'avais oublié echo :
value='<?php echo $id ?>'>
,

merci à tous pour vos réponses!
kayorn
"Je ne crois pas en l'au-delà, mais j'emporte tout de même un caleçon de rechange." --woody allen

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

10 août 2008, 17:46

Modération :
kayorn, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...