我的PHP表单似乎运行正常。页面出现,当我点击提交按钮时,会触发开头的isset($ _ POST ['提交']条件)并运行代码。
唯一的问题是我在代码中有几个echo线来生成一个JS警告框。似乎都没有被召唤。我不确定是否正在调用外部PHP函数,因为我无法测试返回的值。
我的PHP看起来像这样
<?php if (isset($_POST['submitted'])) {
$output = checkData();
if ($output != "done")
{
echo '<script type="text/javascript">alert("' . $output . '"); </script>';
}
else
{
createMeeting();
echo '<script type="text/javascript">alert("You meeting has been created. All of the recipients should shortly receive an email"); </script>';
header('Location: index.php');
}
} else { ?>
<center>
<form method="POST" action="">
...
<input type="submit" name="submitted" value="Create Meeting">
</form>
<?php
}
?>
我的checkData()函数只是检查表单数据的其他部分是否为空,并以&#34; done&#34; (没有错误)或其中一个表单元素为空的消息。
createMeeting()将根据数据创建会议并将其提交给我的服务器 - 目前,它采用与checkData()相同的数据然后返回。
当我通过在线PHP代码检查程序运行它时,这两个函数都没有错误。
答案 0 :(得分:0)
检查你的php.ini。是设置为显示还是隐藏错误?它可能在checkdata中遇到错误并且在没有警告的情况下死亡。
答案 1 :(得分:0)
我已经尝试过您的代码,在我的情况下它似乎运行正常。
<?php if (isset($_POST['submitted'])) {
$output = "done"; //even if this line is not equal to 'done', the code still works fine
if ($output != "done")
{
echo '<script type="text/javascript">alert("' . $output . '");</script>';
}
else
{
// createMeeting();
echo '<script type="text/javascript">alert("You meeting has been created. All of the recipients should shortly receive an email"); </script>';
// header('Location: index.php');
}
} else { ?>
<center>
<form method="POST" action="">
...
<input type="submit" name="submitted" value="Create Meeting">
</form>
<?php
}
?>
据我所知,你的createMeeting()或checkData()函数存在错误。你能否更具体地说明错误信息(如果有的话)?
答案 2 :(得分:0)
如果你想弹出警告框然后重定向它,那么这不是正确的方法。
注意:警告框不会执行或显示,因为页面在显示之前会重定向。最好的方法是创建一个JavaScript函数
<script>
// this function pop up and redirect your page after closing the alert box
function PopupThenRedirect() {
// pop up the alert box
alert("You meeting has been created. All of the recipients should shortly receive an email");
// redirect your page
location.href = '/index.php';
}
</script>
<?php if (isset($_POST['submitted'])) {
$output = checkData();
if ($output != "done")
{
echo '<script type="text/javascript">alert("' . $output . '"); </script>';
}
else
{
createMeeting(); // make sure this php function exist or else it leads to error
echo '<script type="text/javascript"> PopupThenRedirect(); </script>';
}
} else { ?>
<center>
<form method="POST" action="">
...
<input type="submit" name="submitted" value="Create Meeting">
</form>
<?php
}
?>