Soucis de variable get et echo

Résolu/Fermé
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023 - 22 mars 2017 à 15:33
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023 - 27 mars 2017 à 12:19
Bonjour,



j ai une page qui se rappelle meme pour vérifier si le formulaire est bien remplis. Mais j ai soucis avec un code en php je vous mettre un condensé du code ici
Dans ma première partie je vérifie si l'id du membre poster.
<?php 
if (isset($_GET['vari'])) {
$idmem=htmlspecialchars(addslashes(trim($_GET['vari'])));
} else {
$idmem="";
}

/** Récupérer les données par $_POST **/
$idmembres=$_POST['nommembre'];
?>

ensuite vu que mon formulaire fait appel a lui même j ai ceci plus bas
<form method="post" action="editmembre.php?vari=<?php echo"$idmembres"; ?>">

et systématiquement ça n'entre pas la variable je ne sais pas pourquoi...
hors si je fais un echo avant de ma variable elle retourne bien une valeur mais pas dans la balise form....

3 réponses

jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
Modifié par jordane45 le 22/03/2017 à 15:47
Bonjour,

remplace ton code par :
/** Récupérer les données par $_GET si existe .. sinon $_POST **/
 $idmembres= !empty($_GET['vari']) ? htmlspecialchars(addslashes(trim($_GET['vari']))) : (!empty($_POST['nommembre']) ? $_POST['nommembre'] : 0 );


NB: J'ai utilisé l'écriture ternaire (c'est une sorte de IF/ELSE )
$unevariable = condtion ? valeur si vraie : valeur si faux; 

Cordialement, 
Jordane                                                                 
0
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
22 mars 2017 à 15:53
le truc c'est que ma variable est bien existante et qu'elle retourne bien une valeur

suppose la valeur soit 6

si je fais ça

			<?php echo"$idmembres"; ?>
<form method="post" action="editmembre.php?vari=<?php echo"$idmembres"; ?>">
<?php echo"$idmembres"; ?>


ca me retourne 6
6
mais si je valide mon poste la variable du vari reste null et ça je comprend pas
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 22/03/2017 à 16:08
Salut,

Tu peux également essayer de passer ton paramètre via un input type hidden :
<form method="post" action="editmembre.php">
    <input type="hidden" name="vari" value="<?php echo $idmembres; ?>">
    <input type="submit">
</form>
0
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
22 mars 2017 à 16:18
Je vai l'écrire autrement lol je ne me fait pas bien comprendre je comprendre je crois
Je récupère bien ma variable quant elle existe mais je n'arrive pas à la passer par l'url
Mon url retourne ça : editmembre.php?vari=
supposons que mon id soit 32 (donc ma variable $idmembres) ça devrait me retourner
editmembre.php?vari=32 vu que je fait
<form method="post" action="editmembre.php?vari=<?php echo"$idmembres"; ?>">
0
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
22 mars 2017 à 16:24
Sachant que dans ton code précédent .. tu initialisais la variable $idmembres depuis GET ..mais tu l'écrasais ensuite par la valeur POST ...
Donc si POST etait vide ... ben ton URL ne pouvait pas récupérer la variable.....
D'où le code que je t'ai proposé ...

mais bon ... mélanger du POST avec du GET.. c'est moyen.
Le mieux étant de faire comme le propose Pitet ... en la stockant dans un input hidden.
0
Marlocq Messages postés 117 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 10 septembre 2023
27 mars 2017 à 12:19
Merci pour ta réponse Jordane je n'avait pas repéré le fait que je l'écrasais...
0