みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

MySQLを反映させたプルダウンメニューについて

『MySQLデータベースのテーブル』
ID、品名、色(1)、色(2)、色(3)、…
(例:1、”靴下”、”白”、”赤”)

『PHP文』
<?php

$result = "select * from テーブル名 where name= \"靴下\"";
print "<form method = POST action=「出力先」>";
print "<select name=color>";
$data = mysql_fetch_row($result);
foreach($data as $key => $val){
if ($key>1 and $val !=null){
echo "<option value = '".$key."'>".$val."</option>";
}
}
…以下… ?>)

「ユーザーに品名をまずは選んでもらい、次にその品の色を選んでもらう」
というプログラムを組みたくて…
ただし、品により色が多かったり少なかったりするため、
MYSQLから対応する色名を引き出してきてプルダウンに反映させる
というような上記の方法をとりました。

ここで問題が発生…
次のページに選んでもらった色名のキー($key)が$_POST["color"]では受け取れていないのです。
form、select、input文、などを確かめましたが、ここに誤りはないようです。
プルダウンメニューが表示され、ページも飛ぶのですが、単純にPOST引き渡しができていないようなのです。

非常に困っております(泣)
どなたかお詳しい方がいらっしゃいましたら、アドバイスをいただけませんでしょうか。
宜しくお願いします。

投稿日時 - 2008-03-04 12:00:53

QNo.3831744

すぐに回答ほしいです

質問者が選んだベストアンサー

>先のページでPOSTで受け取れていないよう

前提として送り元と送り先は同じサイト上ですよね?

それとphp.iniなど確認できる環境でしょうか?
variables_order の値がきちんと "GPCS"(もしくは"EGPCS")
になっているか確認してみてはどうでしょうか?

投稿日時 - 2008-03-04 13:54:28

補足

問題が解決いたしました。POSTは出来ていたようなのですが、送り先の直後に初歩的なミスのリロード処理があり上書きされていたのを見過ごしていたためでした。
お騒がせしてしまいまして申し訳ありませんでした。
yambejp様には詳細なアドバイスを頂きまして、本当にありがとうございました。

投稿日時 - 2008-03-06 13:13:02

お礼

再度ご回答ありがとうございます。
XAMPPのデスクトップ環境でサイトを作っておりますが、送り元送り先は同じディレクトリです。php.iniもEGPCSで問題はなさそうです。
他の$_Sessionなどは受け渡しはうまくいくようなので、OPTIONタグ内部に書いた$keyが受け渡しできていない…など何らかの理由があるのかと考えているのですが…。
ありがとうございます。

投稿日時 - 2008-03-04 14:32:26

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

$_POSTが受け渡せるかどうかを知りたいのであれば
print_r($_POST);

var_dump($_POST);
して受け渡されているかどうかを確認することができます。

投稿日時 - 2008-03-04 12:12:12

お礼

ご回答ありがとうございます。
本文中に書きましたが、$_POSTは確認し、先のページでPOSTで受け取れていないようです。そこで、どこがまずくて受け取れないのかをお分かりになる方がいらっしゃったらお聞きしたいのです…。
いずれにせよありがとうございます。

投稿日時 - 2008-03-04 12:59:48

あなたにオススメの質問