[RESOLU] variable

rene06530
Invité n'ayant pas de compte PHPfrance

29 oct. 2015, 15:44

Bonjour à tous.
Je débute et "butte" sur un problème que vous allez certainement trouvé simple, mais !!!!!!!!!!

Voici mon formulaire
<form action="descriptif.php" method="post">
        <p>
        <label for="id">id</label> : <input type="text" name="id" id="$id"/><br />
        
          <input type="submit" value="Envoyer" />
    </p>
    </form>

et ma requête
<?php

$req = $bdd->prepare('SELECT titre, description, situation, complement FROM descriptif WHERE id = :id');
                                                    
$req->execute(array('id'=> $_GET['id']));	

echo '<ul>';
while ($donnees = $req->fetch())
{
	echo '<li>' . $donnees['titre'] . ' (' . $donnees['situation'] . ' (' . $donnees['description'] . ' (' . $donnees['complement'] . ' )</li>';
}
echo '</ul>';

$req->closeCursor();

?>
La requête ne reçoit pas la variable. c'est certainement tout bête mais je ne trouve pas après de multiples essais.
Merci de vos réponses.
Cordialement.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

29 oct. 2015, 16:09

Bonjour,

Ton formulaire utilise la méthode POST pour envoyer les données (method="post"), tu pourras donc récupérer celles-ci dans $_POST et non dans $_GET :
$req->execute(array('id'=> $_POST['id']));
Il est recommandé de tester la présence de ta variable $_POST['id'] avec isSet() ou !empty() avant de l'utiliser pour éviter les messages d'erreur si le script est appelé sans que la variable id ne soit envoyée :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

rene06530
Invité n'ayant pas de compte PHPfrance

29 oct. 2015, 18:20

Merci RYLE , ça fonctionne, je n'avais jamais pensé à ça !!!!
Je vais pouvoir avancé
Cordialement.