Soucis de variable get et echo

Résolu
Marlocq Messages postés 119 Statut Membre -  
Marlocq Messages postés 119 Statut Membre -
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

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
  2. Marlocq Messages postés 119 Statut Membre
     
    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
    1. Pitet Messages postés 2845 Statut Membre 530
       
      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
  3. Marlocq Messages postés 119 Statut Membre
     
    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
    2. Marlocq Messages postés 119 Statut Membre
       
      Merci pour ta réponse Jordane je n'avait pas repéré le fait que je l'écrasais...
      0