PHP : undefined variable

babyann -  
 le père -
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 !
A voir également:

3 réponses

Utilisateur anonyme
 
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
babyann
 
magnifique, ça marche !

mille merci Nabbla.
0
Vash
 
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
le père
 
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