Soucis de variable get et echo

Résolu
Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention   -  
Marlocq Messages postés 116 Date d'inscription   Statut Membre Dernière intervention   -
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 38483 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
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 116 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   527
 
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 116 Date d'inscription   Statut Membre Dernière intervention  
 
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 38483 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
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 116 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta réponse Jordane je n'avait pas repéré le fait que je l'écrasais...
0