Avoir les valeurs de checkbox avec plusieurs submit

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 : Avoir les valeurs de checkbox avec plusieurs submit

Re: Avoir les valeurs de checkbox avec plusieurs submit

par Anay » 15 janv. 2015, 12:43

Oui, j'ai deux résultats dans corpus.php et il me retourne 2 (vu que l'itération se fait après l'affichage), donc pour $i, tout est normal.

Re: Avoir les valeurs de checkbox avec plusieurs submit

par xTG » 15 janv. 2015, 12:39

Dans modif.php est-ce que $i a une valeur ?

Avoir les valeurs de checkbox avec plusieurs submit

par Anay » 15 janv. 2015, 12:15

Bonjour à tous,

Tout d'abord, voilà ce que je souhaite faire : j'ai une page (corpus.php) qui affiche les résultats d'une requête MySQL dans un tableau, avec une checkbox par ligne. Ce tableau est dans un formulaire qui doit pouvoir être validé par plusieurs boutons submit.

Voilà les résultats de ma requête dans le tableau :
$i=0;
while ($data = mysql_fetch_array($req)) { 
	echo "<tr><td>".$data['titre']."</td><td>".$data['annee']."</td><td>".$data['auteur']."</td><td>".$data['fichier']."</td><td><input type='checkbox' name='texte[]' value='".$i."'></td></tr>";
$i++; 
}
$_SESSION["i"]=$i;
$req correspond à ma requête SQL précédente, et $i permet de définir un id différent pour chaque checkbox.
Ensuite, voici les boutons submit grâce auxquels je souhaite valider le formulaire :
<input type="submit" value="Analyser" name="analyser"/>
<input type="submit" value="Modifier" name="modifier"/>
<input type="submit" value="Supprimer" name="supprimer"/>
J'effectue ensuite les tests suivants sur chaque bouton (ici, l'exemple pour le bouton modifier) pour récupérer la valeur de la ou des checkbox cochées dans $_SESSION :
if(isset($_POST["modifier"])){
	for ($j=0;$j>$i;$j++){
		if(isset($_POST["texte"][$j])){
			$_SESSION["texte"][$j]="ok";
		}
	}
	echo "<script type='text/javascript'>document.location.replace('modif.php');</script>";
}
Sur la page modif.php, je tente ensuite de récupérer cette valeur pour afficher le ou les textes sélectionnés :
for ($j=0;$j>$i;$j++){
	echo "for ok"; // DEBUG
	if(!empty($_SESSION['texte'])){
                echo "if ok"; // DEBUG
		foreach($_SESSION['texte'] as $val){
                        echo "foreach ok"; // DEBUG
			$req=$connect->query($q) or die('Erreur SQL !<br />'.$q.'<br />'.mysql_error());
			$data = mysqli_fetch_array($req);
			echo "<tr><td>".$data['titre']."</td><td>".$data['annee']."</td><td>".$data['auteur']."</td><td>".$data['fichier']."</td></tr>";
		}
	} else {
		echo "vide"; // DEBUG
	}
}
Et la page ne m'affiche rien... Donc voilà, j'ai un peu tout essayé, la récupération en Javascript, plusieurs méthodes en PHP, mais je n'arrive à rien, donc j'en appelle à votre amabilité.

Merci d'avance :)

Anaïs