ページにフォームを投稿していますが、データから値を取得する際に奇妙な問題が発生しPOST
ます。image_id
ご覧のとおり、条件付きを実行する前に、、vote
およびfb_id_form
がすべて設定されているかどうかを確認できます。
javascriptアラートが実行されるので、3つの変数が設定されていることがわかります。しかし、私が得るものは混乱しています。「動作しました」という最初のアラートウィンドウが表示されます。そして、2つの空白のアラートウィンドウが表示されます。どうすればfb_id_form
(条件付きで)「設定」できますが、アラートを出そうとしても価値がありませんか?
if(isset($_POST['image_id']) && isset($_POST['vote']) && isset($_POST['fb_id_form'])){
$image_id = $mysqli->real_escape_string($_POST['image_id']);
$vote = $mysqli->real_escape_string($_POST['vote']);
$fb_id_form = $mysqli->real_escape_string($_POST['fb_id_form']);
echo "<script>alert('worked');</script>";
echo "<script>alert('".$fb_id_form."');</script>";
echo "<script>alert('".$_POST['fb_id_form']."');</script>";
}
これは(同じページの)フォームデータです:
echo "<form method=\"post\" action=\"\">
<input type=\"hidden\" name=\"image_id\" value=\"".$id."\" />
<input type=\"hidden\" name=\"vote\" value=\"1\" />
<input type=\"hidden\" name=\"fb_id_form\" value\"".$fb_id."\" />
<input type=\"submit\" name=\"submitvote\" value=\"Vote\" />
</form>";
これが問題です。フォームの直前に$fb_idのアラートをエコーアウトしましたが、正しい値が表示されます。提出すると価値がなくなってしまうのではないかと思います。