- ベストアンサー
変数の比較
(1)FORMで入力した値($form)を次のページで表示する。 (2)DBからデータを取得し、配列($dbdata[])に入れる。 (1)と(2)を比較したいのですが、一向に上手くいきません。 if( $dbdata[2] == $form ) { print "一致<BR>"; }else{ print "不一致<BR>"; } こういう風に行っているのですが、なにかおかしな点はありますでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
PHPのバージョンが4.3でしたかあまり覚えていませんが、 それ以降はフォームからの受け取った変数は $form → $_POST['form']または$_GET['form'] と変更になりました。 $_POST[]か$_GET[]かは、フォームのメソッドに依存します。 No.2さんの補足になると思われますが、 配列$dbdata[]の一つ(例えば$dbdata[2]ですね)と比較したいなら、 if($dbdata[2] == $_POST['$form']) { print "一致<BR>"; }else{ print "不一致<BR>"; } と直すだけで十分です。 もし配列全てと比較したいならば、No.3さんの後述のように、 for($i=0;$i<count($dbdata);$i++){ if($dbdata[$i] == $_POST['form']) { print "一致<BR>"; }else{ print "不一致<BR>"; } } とfor文で囲みましょう。
その他の回答 (3)
- chasu_2005
- ベストアンサー率25% (1/4)
$form==$_POST['form']; for($i=0;$i<count($dbdata);$i++){ if( $dbdata[$i] == $form ){ print "一致<BR>"; }else{ print "不一致<BR>"; } } こんなイメージなのかな? 配列は一つ一つ照らし合わせないとね。。
- the845t
- ベストアンサー率33% (246/743)
$_POST[form] でなくて、大丈夫ですか?
- yambejp
- ベストアンサー率51% (3827/7415)
うまくいかないとはどういう状態をさしていますか? 書式的にはないみたいですけどね。 エラーがでるってことならそのエラーを教えてください。 もしかして全ての$dbdata[]と$formを比較したいの でしょうか?