我有一个发布到页面的表单,并且从POST
数据中获取值时遇到了一个奇怪的问题。如您所见,我可以在运行条件之前检查是否image_id
,vote
和fb_id_form
都已设置。
javascript 警报运行,所以我知道三个变量已设置。但我得到的是令人困惑的。我得到第一个显示“工作”的警报窗口。然后我得到两个空白警报窗口。当我试图提醒他们时,如何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 RIGHT 的警报,它给了我正确的值。当我提交它时,我认为该值会丢失。