我已经尝试过寻找问题,但我似乎无法弄明白。表单显示没有错误,但在谷歌浏览器上,当我尝试提交表单时,它只是说“服务器错误”。
<?php
if (empty($_GET["entries"])) //check if the admin entered # of weeks
{
?>
<p>How many weeks do you want to make? </p>
<form action="" method="get">
<input type="text" name="entries" placeholder="Number of weeks" />
<br/>
<input type="submit" name="submit_entries" />
</form>
<?php
}
else
{
//Second form
if (isset($_POST["submit"])) //check if submitted
{
//Process form
$entries=$_GET['entries'];
$newWeeks=$_POST['week'];
$db= mysql_connect("localhost", "root", "root");
if(!$db) die("Error connecting to MySQL database.");
mysql_select_db("onlineform", $db);
$sql = "INSERT INTO onlineformdata (numberOfWeeks, newCampSessions) VALUES (" . PrepSQL($entries) . "," . PrepSQL($newWeeks) . ")";
mysql_query($sql);
if (mysql_query($sql) === FALSE) {
die(mysql_error());
}
mysql_close();
}
else //if not submitted yet, show the form
{
echo '<form action="" method="post">';
for ($count = 0; $count < $_GET["entries"]; $count++)
{
echo 'Enter a beginning to ending date for the week: <input type="text" name="week"><br/>';
}
echo '<input type="submit" name="submit"></form>';
}
}
?>
也许是因为我不能让第一个表单有一个指向自己的动作(我在哪里使用method =“get”。
答案 0 :(得分:0)
您似乎没有在任何地方定义PrepSQL()
。如果是这种情况,你应该得到一个致命的错误,比如
致命错误:调用未定义的函数PrepSQL ...
一旦修复,如果你的插入查询失败,可能是因为缺少封闭引号的值。
对于将来的调试,您可以打开错误:
error_reporting(E_ALL);
ini_set('display_errors', '1');
或者您可以只观察服务器的错误日志。如何完成取决于服务器设置,所以我建议向主机询问方向。
旁注:
mysql_*
库,请考虑升级到PDO或MySQLi