génération de variable php et problème pour les réutiliser

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 : génération de variable php et problème pour les réutiliser

par flitox » 13 avr. 2005, 14:34

Ta vie ne doit pas être très longue alors ;)

par Invité » 13 avr. 2005, 14:24

merci pour vos messages, ça marche parfaitement. C'est le plus beau jour de ma vie depuis celui ou j'ai fait dire des gros mots a ma sound blaster

par sadeq » 13 avr. 2005, 12:13

Pour quoi faire compliqué quand on peut faire simple...

Il faut savoir que HTML traite les champs homonymes comme un tableau.
si plusieurs champs ayant le même nom se trouvent dans le même formulaire, le submit envoi un tableau portant les valeurs de tous ces champs.
La seule condition est que le nom des champs doit finir par [] pour désigner un format tableau.

Exemple :
<form>
<input name=champ[]>
<input name=champ[]>
<input name=champ[]>
<input type=submit>
</form>
Désigne à HTML qu'il s'agit d'un tableau nommé champ de 3 cases

PHP peut reçevoir ce tableau dans une variable à l'aide de $_POST ou $_GET et le traiter exactement comme un tableau PHP.

Exemple :
echo "<form method=post>";
for ($i=0; $i<5; $i++)
 echo "<p><input type='checkbox' name='check[]' value='$i'> Check $i";

echo "<p><input type=submit value=Ok></form>";

echo "<p>Reçus :";
$check = isset($_POST["check"])?$_POST["check"]:null;
if ($check != null)
	foreach ($check as $item)
	      echo "<p>Item $item";

par demipoulp » 13 avr. 2005, 11:54

Par exemple :
echo '<td><input type="checkbox" name="check~'.$id.'" value="checkbox"></td> 
et
<?php
foreach($_POST as $nom => $valeur)
{
$pos = strrpos($nom,'~');
if ($pos ==true){
list( $reste, $id) = split('~',$nom);
//traitement
}
}
?>

par flitox » 13 avr. 2005, 11:54

for ($i=0; $i <= $_POST['idmax']; $i++)
    {
        print $check[$i];
    };
Passe voir ceci : http://www.phpfrance.com/forums/voir_sujet-48.php

génération de variable php et problème pour les réutiliser

par chris » 13 avr. 2005, 11:51

Bonjour,

Voici mon probleme : je génère dans un formulaire autant de checkbox qu'il y a d'entrée dans ma table sql, c'est à dire :
echo '<td><input type="checkbox" name="check'.$id.'" value="checkbox"></td>
Je valide le formulaire et j'arrive sur une autre page php qui doit afficher uniquement les elements "checkés"

pour cela il me faut verifier toutes les variables que le formulaire a envoyé

Mais comment nommer ces variables? J'aimerais creer un tableau, mais je vois pas comment avant l'envoi des informations, et une fois sur la deuxieme page, je ne sais pas comment les appeler.

voici ce que j'aimerais faire :
for ($i=0; $i <= $idmax; $i++)
{
print $check[$i];
};
J'envoie aussi la valeur maxi par le formulaire :
<input type="hidden" name="idmax" value="<? echo $idmax; ?>">