PHP : passage de variables et formulaire

Résolu/Fermé
Baky - 14 mars 2008 à 02:54
Bakinfors Messages postés 9 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 6 juillet 2008 - 24 mars 2008 à 21:52
Bonjour,
Je vous explique mon problème. Je suis en train de créer un "site", et je bloque sur une page. En fait, celle-ci est en php, et récupère les 2 variables fournies à l'aide d'une page html en amont : jusque là, pas de problème. Par contre, sur cette page, en plus de l'affichage des variables, je souhaite intégrer une zone de texte (genre textarea) à l'aide d'un nouveau formulaire. Et en bas de page, je veux pouvoir placer un lien vers une 3° page qui soit capable d'envoyer non seulement les 2 premières variables, mais également une 3° contenant le "textarea" (oulà, je sais pas si je suis compréhensible, là ;) ). Je vous montre le code :
<?php
$id = $_GET['id'];
$adresse = $_GET['a'];
$select = "SELECT * FROM contacts WHERE id LIKE '$id'";
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$ligne = mysql_fetch_assoc($result);
if($adresse == 1){
echo "Ecrire une lettre à :<br />";
echo "<br />";
echo "<font>".$ligne['last_name']."&nbsp;".$ligne['first_name']."<br /><br />".$ligne['primary_address_street']."<br />".$ligne['primary_address_postalcode']."<br />".$ligne['primary_address_city']."</font>";
}
else{
echo "Ecrire une lettre à :<br />";
echo "<br />";
echo "<font>".$ligne['last_name']."&nbsp;".$ligne['first_name']."<br /><br />".$ligne['alt_address_street']."<br />".$ligne['alt_address_postalcode']."<br />".$ligne['alt_address_city']."</font>";
}
echo "<br />";
echo "<br />";

echo"<table width=\"500\" border=\"0\">"
  . "  <tr>"
  . "    <td><a href=pdf.php?id=$id&a=$adresse>Passage au PDF</a></td>"
  . "  </tr>"
  . "</table>";
?>
<FORM Method="POST" Action="pdf.php">
<textarea name="lettre" cols="600" rows="500"></textarea>
<INPUT type=submit value=Envoyer>
</FORM>

Bon, dans ce que je vous montre, je sais très bien qu'il y a une erreur : d'uncôté j'envoie les 2 variables, et d'un autre le textarea. Mais ce que je voudrais savoir, c'est si quelqu'un connait la méthode pour envoyer les 3 d'un coup. Merci d'avance
A voir également:

3 réponses

Enax Messages postés 203 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 16 mars 2010 145
14 mars 2008 à 08:55
<form method="POST" action="pdf.php?id=$id&a=$adresse">
1
Merci pour ta réponse, Enax. En ce qui concerne l'entête du formulaire que tu m'as donné :
<form method="POST" action="pdf.php?id=$id&a=$adresse">

je pense quil fallait que je le mette à la place du mien :
<FORM Method="POST" Action="pdf.php">

Malheureusement, ça ne marche pas... et je pense comprendre pourquoi. Le formulaire ne fait pas partie du script php (il est situé après le ?> ), donc c'est normal qu'il n'arrive pas à trouver des valeurs pour $id et $adresse.
Enfin, c'est ce que je crois.... Peux-tu m'éclairer si je me trompe, ou me dire comment rentrer ce formulaire dans le code PHP ? Merci encore
0
Enax Messages postés 203 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 16 mars 2010 145
14 mars 2008 à 15:59
Effectivement, j'ai été un peu trop vite en besogne. :)
En fait, il suffit de changer le code afin d'afficher les valeurs de tes variables dans ton code HTML, c'est-à-dire :
action="pdf.php?id=<?php echo $id; ?>&a=<?php echo $adresse; ?>"
1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
14 mars 2008 à 20:53
la solution, mettre les valeurs de la page 1 a passer dans la page 3 en champ caché dans la page2

<FORM Method="POST" Action="pdf.php">
<input type="hidden" name="id" value="<?php echo $id ; ?>">
<input type="hidden" name="adresse" value="<?php echo $adresse ; ?>">
<textarea name="lettre" cols="600" rows="500"></textarea>
<INPUT type=submit value=Envoyer>
</FORM>
0
Bakinfors Messages postés 9 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 6 juillet 2008
24 mars 2008 à 21:52
Désolé du retard pour ma réponse ! Je reviens juste pour féliciter Enax, qui a trouvé la solution à mon problème ;) Merci encore à toi, ainsi qu'aux autres qui se sont penchés sur mon problème, et à très bientôt...
0