Page 1 sur 1

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

Posté : 29 mai 2014, 15:15
par subran
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

Re: if(isset($_POST['status']))

Posté : 30 mai 2014, 10:02
par chapt0011
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 ;)

Re: if(isset($_POST['status']))

Posté : 30 mai 2014, 12:38
par yann18
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>";
}

}

Re: if(isset($_POST['status']))

Posté : 31 mai 2014, 14:37
par subran
Merci beaucoup ! Cela fonctionne parfaitement !