• ベストアンサー

変数の比較

(1)FORMで入力した値($form)を次のページで表示する。 (2)DBからデータを取得し、配列($dbdata[])に入れる。 (1)と(2)を比較したいのですが、一向に上手くいきません。 if( $dbdata[2] == $form ) { print "一致<BR>"; }else{ print "不一致<BR>"; } こういう風に行っているのですが、なにかおかしな点はありますでしょうか?

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

  • ベストアンサー
  • limit004
  • ベストアンサー率33% (3/9)
回答No.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)

回答No.3

$form==$_POST['form']; for($i=0;$i<count($dbdata);$i++){ if( $dbdata[$i] == $form ){ print "一致<BR>"; }else{ print "不一致<BR>"; } } こんなイメージなのかな? 配列は一つ一つ照らし合わせないとね。。

  • the845t
  • ベストアンサー率33% (246/743)
回答No.2

$_POST[form] でなくて、大丈夫ですか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

うまくいかないとはどういう状態をさしていますか? 書式的にはないみたいですけどね。 エラーがでるってことならそのエラーを教えてください。 もしかして全ての$dbdata[]と$formを比較したいの でしょうか?

関連するQ&A

専門家に質問してみよう