Gros blocage sur un transfert de variable.

Résolu/Fermé
php_novice - 21 févr. 2012 à 22:44
 php_novice - 21 févr. 2012 à 23:38
Bonjour,

Je suis en train de concevoir un mini site qui traite l'emprunt de pièces. Je vous explique mon souci : j'ai 3 pages. La première permet de renseigner l'outil qu'on prête (liste défilante) et d'autres infos. La seconde est une page de confirmation (si Ok on clique sur confirmer sinon on clique sur "retourner en arrière"). La troisième s'affiche lorsqu'on clique sur Ok et appelle la base de données pour afficher tous les prêts effectués.

Le problème c'est que je n'arrive pas à afficher l'outil prêté à la troisième page. Comme il y a la 2eme page au milieu, je ne peux pas utiliser le $_POST car la variable disparait. J'ai essayé le "hidden" mais ça ne donne rien.

Voici mon code :
- A la 2eme page :
Vous allez effectuer le prêt de l'outil
<?php echo $_POST['nom_outil']; ?>

Pour confirmer, cliquez ici :
<input type="submit" value="Confirmer" />

<input type="hidden" value="<?php echo $nom_outil; ?>" name="nom_outil">

Pour modifier votre saisie, cliquez ici :
<a href="Nouvel_emprunt.php">Modifier</a>


- A la 3eme page :
// Insertion du message à l 'aide d 'une requête préparée
 $req = $bdd->prepare ('INSERT INTO emprunts  (Id, nom_outil) VALUES (?,?)'); 
               $req->execute (array ($_POST['Id'], $_POST['nom_outil']));


// Récupération des 100 derniers messages
$reponse = $bdd->query ('SELECT Id, nom_outil FROM emprunts ORDER BY ID DESC LIMIT 0, 100');

// Affichage de chaque message
while  ($donnees = $reponse->fetch ()) 
                { 
                   echo  '<p><strong>'  . htmlspecialchars ($donnees ['Id'])  . '</strong>  :  '  . htmlspecialchars ($donnees ['nom_outil'])  . '</p>'; 
                }


Avec ceci je n'ai que le Id qui s'affiche en 3eme page. Le nom_outil ne s'affiche pas.

Merci à ceux qui auront lu jusqu'au bout et voudront bien m'aider à résoudre le problème !
A voir également:

1 réponse

Bonjour

Le plus pratique est d'utiliser les sessions, mais ta méthode peut marcher aussi, à condition de ne pas confondre $_POST['nom_outil'] et $nom_outil quand tu crées ton champ hidden. Tu aurais dû écrire :
<input type="hidden" value="<?php echo $_POST['nom_outil'] ?>" name="nom_outil">
0
Ça marche ! Merci beaucoup :)
0