0
我正在向PHP文件發送變量以將其他內容添加到數據庫中,但由於某種原因,我的數據庫要麼填滿了空格,要麼只是不添加到數據庫。將變量發送到我的PHP文件 - 由於某種原因,它們爲空
customer.php
<script type="text/javascript">
function addCustomerFunc(add_LN,add_FN,add_PN,add_DOB)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("show_label").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","addCustomer.php",true);
xmlhttp.send("add_LN="+add_LN+"&add_FN="+add_FN+"&add_PN="+add_PN+"&add_DOB="+add_DOB);
}
</script>
<p>Add New Customer:</p>
<div align="center">
<table width="337" border="1">
<tr>
<td width="154"><p>Last Name:</p>
<p>First Name:</p>
<p>Phone Number:</p>
<p>Date of Birth:</p>
<p> </p></td>
<td width="167"><p align="center">
<form>
<input type="text" name="add_LN" id="add_LN" />
<br/><br/>
<input type="text" name="add_FN" id="add_FN" />
<br /><br />
<input type="text" name="add_PN" id="add_PN" />
<br /><br />
<input type="text" name="add_DOB" id="add_DOB" />
<br /><br />
<input type="submit" name="add_Customer" id="New_Customer_Form" value="Add Customer" onClick="addCustomerFunc(this.add_LN, this.add_FN, this.add_PN, this.add_DOB); return false;"/>
</form>
<div id="show_label"/>
</p>
</td>
</tr>
</table>
</div>
在addCustomer.php
<?php
$username="*****";
$password="*****";
$database="*****";
if (isset ($_POST['add_LN']))
$lastName=$_POST['add_LN'];
else
die("Last Name not passed in POST");
if (isset ($_POST['add_FN']))
$firstName=$_POST['add_FN'];
else
die ("First Name not passed in POST");
if (isset ($_POST['add_PN']))
$phone=$_POST['add_PN'];
else
die("Phone Number not passed in POST");
if (isset ($_POST['add_DOB']))
$dob=$_POST['add_DOB'];
else
die("Date of Birth not passed in Post");
mysql_connect("dbs4.cpsc.ucalgary.ca",$username,$password);
@mysql_select_db($database) or die("Unable to select database");
$query = "INSERT INTO customer (last_name, first_name, phone_no, date_of_birth, membership) VALUES ('$lastName', '$firstName', '$phone', '$dob', 'T')";
if (mysql_query($query)){
echo "Thanks";
} else
{
echo "Failed to insert customer into database";
}
mysql_close();
?>
有人告訴我使用ISSET功能,但這些變量似乎從來沒有更改爲非空值。 我正在使用PHP 5.3.5。
編輯:我不斷收到show_label中的「姓氏未通過POST」,因爲它始終將add_LN視爲空白。
當我改成了「this.parent.add + LN」,它使我的頁面刷新,數據不會被添加到數據庫中 我會嘗試的document.getElementById – 2011-04-09 22:38:21
我已經改變了的send()到 xmlhttp.send( 「add_LN =」 \t \t \t +的document.getElementById( 「add_LN」) \t \t \t + 「&add_FN =」 \t \t \t +的document.getElementById (「add_FN 「) \t \t \t +」 &add_PN =」 \t \t \t +的document.getElementById( 「add_PN」) \t \t \t + 「&add_DOB =」 \t \t \t +的document.getElementById( 「add_DOB」)); 但同樣的問題仍然存在。 – 2011-04-09 22:43:30
您不能只獲取元素 - 您還必須獲得「.value」屬性。我會更新我的答案。 – Pointy 2011-04-09 22:55:35