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