envoyer le formulaire d'ACTION à une autre page php qui va traiter le résultat de la 1ère page
J'ai créé 2 pages. On appelle test.php qui a juste le code html sur elle avec une tourbière de la forme standard.
<Form name ="form1" Method ="GET" Action ="result.php">
room number: <INPUT TYPE = "TEXT" Name ="roomId">
<INPUT TYPE = "Submit" Name = "Submit" VALUE = "Go">
</FORM>
et une autre page qui traitera il appelé results.php.
$roomId = $_POST['roomId'];
$sql = mysql_query("SELECT * FROM forestcourt WHERE id=$roomId");
$id2 = 'id';
$buildingName = 'buildingName';
$subBuildings = 'subBuildings';
$imagePath = 'imagePath';
$description = 'description';
$rows2 = mysql_fetch_assoc($sql);
echo 'Name: ' . $rows2[$buildingName] . '<br/>' . 'Sub Buildings: ' . $rows2[$subBuildings] . '<br/>' . 'Description: ' . $rows2[$description] . '<br/>' . 'Location: ' . '<img src="../' . $rows2[$imagePath] . '"/>' . '<br/><br/>';
Ce que je veux faire, c'est prendre la valeur de l'entrée sur test.php et de les stocker sur le results.php page $roomId
lorsque le bouton envoyer est pressé. J'ai eu à travailler avec d'autres exemples, mais je ne suis pas sûr pourquoi il n'est pas ici... j'espère que j'ai juste fait une erreur facile et quelqu'un peut juste remarquer!
Je sais que la page est connecté à la base de données parce que si je fais quelques commentaires sur "results.php" il extrait les informations de la base de données.
Si j'commentaire:
$roomId = $_POST['roomId'];
et le changement:
$sql = mysql_query("SELECT * FROM forestcourt WHERE id=$roomId");
d';
$sql = mysql_query("SELECT * FROM forestcourt WHERE id=1");
l'information sur l'results.php la page est la même que celles de la base de données.
Une erreur qui arrive lorsque je passe par le processus;
"Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL
résultat de la ressource en
/websites/123reg/LinuxPackage23/ed/ge/_g/xxx.co.uk/public_html/testing/result.php
sur la ligne 49"
49 ligne serait:
$rows2 = mysql_fetch_assoc($sql);
sur results.php.
Si quelqu'un pourrait jeter quelque lumière sur pourquoi il n'est pas de travail, ce serait super.
Je suis assez nouveau à MySQL et j'ai passé la meilleure partie de la journée sur ce problème! Si plus d'information est nécessaire, je vais rapidement essayer et de le fournir.
- Votre méthode est
get
. Vous devez utiliser$_GET['roomId']
pour accéder super variable globale... ou formulaire de changement de méthode depost
. - Merci pour la réponse, Hallaji! Une journée de travail fini!
Vous devez vous connecter pour publier un commentaire.
Vous devez soit modifier
method="post"
dans test.php ou modifier$roomId = $_GET['roomId'];
ou$roomId = $REQUEST['roomId'];
dans results.phpVotre page action est
result.php
pasresults.php
,de changer de forme àPOST
si vous voulez que votre code fonctionne:et en php , vérifiez d'abord que vous avez de la valeur comme ceci :
si vous voulez le code ci-dessus ou quelque chose comme
$_POST['roomId'] = $roomid
de travail.que ne le font les suivantes:
ou
Vous pourriez avoir trié, mais pour d'autres personnes.
de cours " méthode doit être POST ou GET en Conséquence.