PHP : undefined variable

bonsoir !
voici mon soucis, et malgré toute la documentation mise à ma disposition, je ne trouve pas de solution...

Voici une premiere page d'exercice, et là j'obtiens le résultat attendu :

<html>
<head><basefont face="arial"></head>
<body>
<p>quel est ton prenom ?</p>
<?php
//definition de la variable
$reponse='zoe';
//affichage de la reponse
echo "<p>bonjour <i>$reponse</i></p>";
?>
</body>
</html>

exercice suivant :
Voici le script de la page question.htm

<html>
<head><basefont face="arial"></head>
<body>
<form method=post" action="reponse.php">
<p>quel est ton prenom ?
<INPUT size=40 name=reponse></p>
<INPUT type=submit value=VALIDER name=submit>
</body>
</html>

et le script de la page reponse.php :

<html>
<head><basefont face="arial"></head>
<body>
<p>bonjour</p>
<?php
//affichage de la reponse
echo "<p><i>$reponse</i></p>";
?>
</body>
</html>

mais un message d'erreur suivant apparait lors de l'affichage de la page reponse :

Notice: Undefined variable: reponse in c:\program files\easyphp1-8\www\reponse.php on line 7

Qui peut m'apporter un élément de réponse, je sèche et ça commence à me streeser, je ne trouve rien...

MERCI D'AVANCE !

3 réponses

  1. Salut

    1/ problème de syntaxe

    <form method= post" action="reponse.php"> 


    une guillemet en trop (ou une manquante !)
    écris plutôt method =post ou method = "post"

    2/dans lefichier reponse.php

    Tu demande l'affichage d'une variable $reponse qui est inconnue !!!
    même si elle à été tansmise par le formulaire, il faut la récupérer.
    Une méthode serai d'ajouter une ligne de code sur ton fichier reponse.php qui pourrait être de la forme :

    $reponse = $_POST['reponse'];

    2
    1. magnifique, ça marche !

      mille merci Nabbla.
      0
  2. Bonjour

    Comme le message l'indique, l'erreur est à la ligne 3 du script test.php. Il parle d'une variable jpg et dans ce que tu montrees la variable est pdf. Alors le script que tu montres n'est sûrement pas le bon. Peux-tu montrer le script test.php ?

    De plus, vu le style, il s'agit sûrement d'un vieux script prévu pour les serveurs avec register_globals actif. si ta variable provient d'une URL ou d'un formulaire GET il faut l'initialiser par $pdf=$_GET['pdf'] ou $jpj=$_GET['jpg']. Si elle vient d'un formulaire POST, il faut l'initialiser par $pdf=$_POST['pdf'] ou $jpj=$_POST['jpg']
    0
    1. Bonjour,

      je remonte un pu le topic, j'ai un probleme similaire, je voudrai mettre un lien sur une page web pour effectuer un telechargement direct, j'ai utiliser ce script PHP :

      <?
      header("Content-type: application/pdf");
      header("Content-Disposition: attachment; filename=$pdf");
      readfile($pdf);
      ?>
      Le recopier tel quel, ne rien changer.

      Puis sur la page voulue, mettre un lien de la forme:
      <a href="x.php?pdf=y.pdf">Télécharger le pdf</a>
      Où y.pdf est le nom de votre document pdf.

      meme j'obtient toutjours ce message d'erreur :

      <br />
      <b>Notice</b>: Undefined variable: jpg in <b>c:\program files\easyphp1-7\www\test\images\test.php</b> on line <b>3</b><br />
      <br />
      <b>Notice</b>: Undefined variable: jpg in <b>c:\program files\easyphp1-7\www\test\images\test.php</b> on line <b>4</b><br />

      si quelqu'un peu m'aider je suis desseperer.....

      j'ai aussi essayer cet exemple sans succes, meme probleme mais en plus j'ai la variable chemin qui n'est pas connue....

      http://www.destrucsaweb.com/ressources/phpmyannu/goto_45.php
      0