Page 1 sur 1

Passage de variable booléenne.

Posté : 08 févr. 2011, 16:28
par Sophie . S
Bonjour à tous,

Je bute sur quelque chose, qui pourtant à l'air d'être simple ?
Comment faire passer une variable booléenne par POST ?

Exemple :

EMISSION (emi.php) :

<html>
<form method="POST" action="rec.php">
<center>
<input type="hidden" name="a" value="ABC">
<input type="hidden" name='b' value="<?php echo ($b=true); ?>">
<input type=submit name=a_submit value="Action">
</center>
</form></html>

RECEPTION (rec.php) :

<?php
$a = ($_POST["a"]);
$b = ($_POST["b"]);

// if ($b=1) {$b=true;} // en ajoutant ça, c'est bool évidemment !

echo "a=".$a." - "."b=".$b;
if (is_bool($b)) {echo " - b=BOOL"."<br>";}
else {echo " - b=PAS BOOL"."<br>";}
?>

DONNE A L'ECRAN :
a=ABC - b=1 - b=PAS BOOL

Pourquoi le $_POST ne le récupère pas en booléen ? C'est impossible ?
Si quelqu'un a une suggestion de modification en EMISSION sans toucher à la RECEPTION !

Merci d'avance.

Sophie.S

Re: Passage de variable booléenne.

Posté : 08 févr. 2011, 16:31
par stealth35
oui c'est impossible, $_POSt récupére que du string

Re: Passage de variable booléenne.

Posté : 08 févr. 2011, 16:37
par Sophie . S
Je m'en doutais !!!

Merci quand même stealth35

Re: Passage de variable booléenne.

Posté : 08 févr. 2011, 17:17
par xTG
Obligé de passer par un entier, donc il faudra modifier la réception pour vérifier que l'entier est bien soit un "zéro" soit un "un".

Re: Passage de variable booléenne.

Posté : 08 févr. 2011, 17:18
par stealth35
Obligé de passer par un entier, donc il faudra modifier la réception pour vérifier que l'entier est bien soit un "zéro" soit un "un".
même pas un entier, c'est un de type string quand même :wink:

Re: Passage de variable booléenne.

Posté : 08 févr. 2011, 17:20
par xTG
Oui enfin c'était pour dire qu'il fallait passer un caractère 1 ou 0. è_é
Ou alors on passe la chaîne de caractère "zero" ou "un" mais là on devient tordu...

Re: Passage de variable booléenne.

Posté : 08 févr. 2011, 17:30
par stealth35
Oui enfin c'était pour dire qu'il fallait passer un caractère 1 ou 0. è_é
Ou alors on passe la chaîne de caractère "zero" ou "un" mais là on devient tordu...
Oui, apres on peux utilise filter_input
filter_input(INPUT_POST, 'b', FILTER_VALIDATE_BOOLEAN);
mais bon comme faut pas modifier le code...

:wink:

Re: Passage de variable booléenne.

Posté : 08 févr. 2011, 17:42
par Sophie . S
Merci à tous pour vos détails !

Pour la curiosité, je pense qu'il doit en être de même avec $_GET !
Qu'en est-il, si on passe par un $_COOKIE ou une $_SESSION ?

Merci pour tout,

Sophie