[RESOLU] if(isset($_POST['status']))

Eléphanteau du PHP | 27 Messages

29 mai 2014, 15:15

Bonjour,

J'ai créé un formulaire avec comme réponse "oui" ou "non" pour une liste de personnes.
Afin de pouvoir pour chaque personne choisir "oui" ou "non", j'ai donné incrémenté la partie "name" à chaque ligne.

Voici la partie html :
Michel <input type="radio" name="statut1[]" value="O">Oui <input type="radio" name="statut1[]" value="N">Non <br />
Pierre <input type="radio" name="statut2[]" value="O">Oui <input type="radio" name="statut2[]" value="N">Non <br />
Jean <input type="radio" name="statut3[]" value="O">Oui <input type="radio" name="statut3[]" value="N">Non <br />
Marie <input type="radio" name="statut4[]" value="O">Oui <input type="radio" name="statut4[]" value="N">Non <br />
Mon problème se trouve du côté PHP. Je souhaite afficher les réponses les unes à côté des autres (après ce sera pour injecter ligne par ligne dans une base de données) mais je suis perdu...

Pour la partie
if(isset($_POST['status']))
y a-t-il moyen d'incrémenter le status de +1 ? J'ai essayé avec $1=$1+1 et
if(isset($_POST['status.$1']))
mais cela ne fonctionne pas

Voici la partie php :
            if(isset($_POST['status']))
            {
                foreach ($_POST['status'] as $_status)
                {
					echo "Status = {$_status}\n";
                }
            }
Merci d'avance pour votre aide,

Sub

Eléphant du PHP | 95 Messages

30 mai 2014, 10:02

y a-t-il moyen d'incrémenter le status de +1 ?
oui
$maxIncrement=10 //10 par exemple!
for($i=0;$i<=$maxIncrement;$i++)
{
    if(isset($_POST['status'.$i]))
          echo "Status = ".$_POST['status'.$i]."\n";
}
//attention quand même car dans ta partie html tu as des statut[] et en php tu utilise de status donc garde la même orthographe ;)
La b!te et le couteau sont bien souvent les meilleurs outils...mais aussi et surtout les seuls qui sont toujours à disposition!!

Mammouth du PHP | 571 Messages

30 mai 2014, 12:38

il est plus simple de passer le nom en index du name:
Michel <input type="radio" name="statut[Michel]" value="O">Oui <input type="radio" name="statut[Michel]" value="N">Non <br />
Pierre <input type="radio" name="statut[Pierre]" value="O">Oui <input type="radio" name="statut[Pierre]" value="N">Non <br />
Jean <input type="radio" name="statut[Jean]" value="O">Oui <input type="radio" name="statut[Jean]" value="N">Non <br />
Marie <input type="radio" name="statut[Marie]" value="O">Oui <input type="radio" name="statut[Marie]" value="N">Non <br />
et côté php, on recupère un tableau qui a pour clé le nom et pour valeur la réponse(O ou Non):
<?php
if(isset($_POST['statut']) ){
foreach( $_POST['statut'] as $nom=>$val ) {

echo "$nom a repondu par <b> $val</b><br>";
}

}

Eléphanteau du PHP | 27 Messages

31 mai 2014, 14:37

Merci beaucoup ! Cela fonctionne parfaitement !