Résolu - Condition if et elseif avec bouton radio

Eléphanteau du PHP | 49 Messages

02 nov. 2011, 17:46

Bonjour,

Je test ce bout de code avec deux radio et if elseif, je souhaiterais obtenir pour l’instant lors des essais, « oui » si on coche oui et « non » si on coche non…
Par la suite je redirigerais en fonction…
<?php

echo <<<CODE_HTML

<form method="post" action="# " name="news" enctype="multipart/form-dat">

<input type="radio" name="news" value="oui" onclick="submit(this.form)"/> Oui
<input type="radio" name="news" value="non" onclick="submit(this.form)"/> Non

</form>

CODE_HTML;

$news = isset($_POST['news']);

if($news=='oui')
{ 
echo "oui" ;	
}
else if($news=='non')
{
echo "non" ;
}
?>
J’obtiens toujours oui !
Ou est mon erreur ?

Merci bien.
Modifié en dernier par brother le 03 nov. 2011, 22:10, modifié 2 fois.

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

02 nov. 2011, 18:15

$news = isset($_POST['news']);

regarde bien la doc de la fonction isset pour voir ce qu'elle retourne.

une fois que tu auras compris ce qu'elle retourne tu aura résolu ton soucis (et ajoute un if, ou un switch ;) )


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 49 Messages

03 nov. 2011, 21:41

Bonjour moogli,
moogli a dit :

une fois que tu auras compris ce qu'elle retourne tu aura résolu ton soucis (et ajoute un if, ou un switch )
Merci pour le (ajoute un if) voici ma solution peut-être as-tu une meilleure solution...
Ca fonctionne très bien et sans bouton pour valider, si ça peut servir à quelqu'un.
<?php
 //mavar représente une variable quelconque
 
$mavar = isset($_POST['mavar']) ? $_POST['mavar'] : '';
 
if ($mavar=='oui')
	{
		echo "la valeur est : ".$mavar;
		
	}
	else
 {
			if ($mavar=='non')
		{
			
		echo "la valeur est : ".$mavar;
		
		}
}
?>
 
<form enctype="multipart/form-data" method="post">
    <input type="radio" name="" value="oui" onclick="submit(this.form)"/>Oui<br/>
    <input type="radio" name="" value="non" onclick="submit(this.form)"/>Non<br/>
 
</form>
Ou avec switch
<?php
$mavar = isset($_POST['mavar']) ? $_POST['mavar'] : '';
 
switch($mavar)
	{
		
	 	case $mavar=='non':
 	             echo $mavar;
		
break;
		case $mavar=='oui':
			
			echo $mavar;
		
	break;
}
?>
 
<form enctype="multipart/form-data" method="post">
    <input type="radio" name="news" value="oui" onclick="submit(this.form)"/>Oui<br/>
    <input type="radio" name="news" value="non" onclick="submit(this.form)"/>Non<br/>
 
</form>
Merci moogli, ais-je trouvé la meilleure solution ?
Le mieux c'est la condition avec switch pour sa simplicité ?