0
我在这里有一个页面,它从前一页收到所有详细信息,并将其张贴在本页的数据库中。现在让我们说我有多个考试(可以说2个考试)。当我完成第一次考试的创建并将表格提交给自己后,我突然收到下面代码中所有$ _POSTs的通知。为什么在我的第一次考试后,我所有的$ _POST都会收到这些通知?所有通知都声明,所有那些在其前面带有$ _POST的索引都是未定义的。
下面是我的代码:
<?php
session_start();
if (isset($_POST['id'])) {
$_SESSION['id'] = $_POST['id'];
}
if (isset($_POST['dateChosen'])) {
$_SESSION['dateChosen'] = $_POST['dateChosen'];
}
if (isset($_POST['timeChosen'])) {
$_SESSION['timeChosen'] = $_POST['timeChosen'];
}
$username="xxx";
$password="xxx";
$database="xxx";
mysql_connect('localhost',$username,$password);
mysql_select_db($database) or die("Unable to select database");
$insert = array();
for ($i = 1, $n = $_POST['sessionNum']; $i <= $n; ++$i)
{
$insert[] = "' ". mysql_real_escape_string($_POST['id']) . ($n == 1 ? '' : $i) . "',' ". mysql_real_escape_string($_POST['timeChosen']) . "',' ". mysql_real_escape_string(date("Y-m-d", strtotime($_POST['dateChosen']))) . "'";
}
$sql = "INSERT INTO Session (SessionId, SessionTime, SessionDate)
VALUES (" . implode('), (', $insert) . ")";
mysql_query($sql);
mysql_close();
?>
显示您的HTML请。对于'$ _POST'来说,你必须提交表单'method ='post'' – 2012-04-03 03:43:28
照顾才能发布第一页? – 2012-04-03 03:44:29
很少有人这样做,但它是“正确”的方式 - 检查页面是否已经发布到,查看$ _SERVER ['REQUEST_METHOD']并确保它等于“POST”。 – 2012-04-03 04:18:01