質問: int( rand(999) ) + 1; (set.cgi というファイルに記入) 555 の部分を $random_x に変更してbbs.cgiプログラムを書き換えるのですが、 表示された乱数を入力しても「エラーです」と表示され投稿できません。 どこが間違ってますでしょうか?よろしくお願いします。
回答: もしかしての話ですが、 $random_x = int( rand(999) ) + 1; **${random_x} と半角で入力** if ($form{'guard'} ne $random_x){&er_(" エラーです。 ");} ――みたいに記述してて、 cgi起動(rand)→ブラウザ受信→ユーザ入力→ブラウザ送信→cgi起動(rand)&postデータ処理 ――と処理されてるとか。もしそうなら、送信データを処理するタイミングでは値が変わってるだろう(偶然同じになる可能性もある。)から、ダメじゃないかと。