Soucis de variable get et echo [Résolu/Fermé]

Signaler
Messages postés
111
Date d'inscription
mardi 19 novembre 2013
Statut
Membre
Dernière intervention
29 mai 2020
-
Messages postés
111
Date d'inscription
mardi 19 novembre 2013
Statut
Membre
Dernière intervention
29 mai 2020
-
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

Messages postés
32434
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 482
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                                                                 
Messages postés
111
Date d'inscription
mardi 19 novembre 2013
Statut
Membre
Dernière intervention
29 mai 2020

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
Messages postés
2371
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
13 janvier 2021
445
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>
Messages postés
111
Date d'inscription
mardi 19 novembre 2013
Statut
Membre
Dernière intervention
29 mai 2020

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"; ?>">
Messages postés
32434
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mai 2021
3 482
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.
Messages postés
111
Date d'inscription
mardi 19 novembre 2013
Statut
Membre
Dernière intervention
29 mai 2020

Merci pour ta réponse Jordane je n'avait pas repéré le fait que je l'écrasais...