dポイントプレゼントキャンペーン実施中!

(1)FORMで入力した値($form)を次のページで表示する。
(2)DBからデータを取得し、配列($dbdata[])に入れる。

(1)と(2)を比較したいのですが、一向に上手くいきません。

if( $dbdata[2] == $form )
{
print "一致<BR>";
}else{
print "不一致<BR>";
}

こういう風に行っているのですが、なにかおかしな点はありますでしょうか?

A 回答 (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文で囲みましょう。
    • good
    • 0

$form==$_POST['form'];



for($i=0;$i<count($dbdata);$i++){
if( $dbdata[$i] == $form ){
print "一致<BR>";
}else{
print "不一致<BR>";
}
}

こんなイメージなのかな?
配列は一つ一つ照らし合わせないとね。。
    • good
    • 0

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

    • good
    • 0

うまくいかないとはどういう状態をさしていますか?


書式的にはないみたいですけどね。
エラーがでるってことならそのエラーを教えてください。

もしかして全ての$dbdata[]と$formを比較したいの
でしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!