2016-07-30 91 views
0

addcustomer.phpPHP - 運行1個插入查詢運行兩次在同一時間

<?php 
include_once('functions.php'); 
?> 

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8s" /> 
<title>Add Customer</title> 
<script type="text/javascript"> 
function CheckFields() 
{ 
    var cusname = document.getElementById("cusname").value; 
    var cusadd = document.getElementById("cusadd").value; 

    if(cusname == '') 
    { 
     alert("Please enter your customer name"); 
     return false; 
    } 

    if(cusadd == '') 
    { 
     alert("Please enter your customer address"); 
     return false; 
    } 

    return true; 
} 
</script> 
</head> 

<body onLoad="focus();add.name.focus()"> 
<?php 
if(array_key_exists('submit_check', $_POST)) 
{ 
    if($_POST['submit'] == 'Add') 
    { 
     if(!AddCustomer(trim($_POST['cusname']), trim($_POST['cusgender']), trim($_POST['cusadd']))) 
     { 
      echo "Add Customer Error, Please try it again later"; 
     } 
     else 
     { 
      echo "Customer Information had been successfully added into the database"; 
     } 
    } 
} 
else 
{ 
    AddCustomerForm(); 
} 
?> 
</body> 
</html> 

dbconnect.php

<?php 
$host = "localhost"; 
$user = "root"; 
$passwd = ""; 
$dbname = "customertest"; 
?> 

的functions.php

<?php 
include('dbconnect.php'); 

function AddCustomerForm() 
{ 
?> 
    <form id="add" name="add" method="post" action="<?php echo  $_SERVER['PHP_SELF']; ?>"> 
    <b><u>Customer Details</u></b><br /> 
    <input type="hidden" name="submit_check" value="1" /> 
    Customer Name : <input type="text" id="cusname" name="cusname" maxlength="50" /><br /> 
    Gender : <input type="radio" name="cusgender" value="M" checked />Male 
      <input type="radio" name="cusgender" value="F" />Female<br /><br /> 
    <b><u>Customer Address</u></b><br /> 
    Address : <input type="text" id="cusadd" name="cusadd" maxlength="100" size="50" /><br /><br /> 
    <input type="submit" name="submit" value="Add" onclick="return CheckFields();" /> 
    <input type="reset" name="reset" value="Reset" /> 
    </form> 
<?php 
} 

function ConnectToDb() 
{ 
    global $host, $user, $passwd, $dbname; 
    @$db = mysql_pconnect($host, $user, $passwd); 
    if(!$db) 
    { 
     echo "Couldn't connect to the database"; 
     exit; 
    } 
    mysql_select_db($dbname); 
} 

function AddCustomer($cusname, $cusgender, $cusadd) 
{ 
    ConnectToDb(); 

    $query = "INSERT INTO customer (cusname, cusgender, cusjoindate) VALUES (\"".$cusname."\", '".$cusgender."', NOW())"; 
    $result = mysql_query($query); 

    if($result) 
    { 
     $cusID = mysql_insert_id(); 

     $query = "INSERT INTO customer_address (cusID, cusaddress) VALUES ('".$cusID."', '".$cusadd."')"; 
     $result = mysql_query($query); 

     return 1; 
    } 
    else 
    { 
     return 0; 
    } 
} 
?> 
記錄

從上面的代碼,當我填寫客戶表格,然後點擊添加按鈕,我得到我的數據庫中的雙紀錄如下圖所示的圖像:
enter image description here

我真的不明白,爲什麼數據庫存儲2條記錄與此同時。
我寫錯碼了嗎?有人能幫我嗎?

+0

通過jquery存儲隱藏字段中的id值如果它已經退出不允許保存 –

+0

插入後使用header函數 –

回答

0

您是否正確指定了主鍵& FOREIGN KEY。意思是客戶地址表中的cusID,它引用客戶表中的cusID(主鍵)。我嘗試了與下面相同的工作方式。

ALTER TABLE customer_address ADD FOREIGN KEY(cusID)參考文獻customertestcustomercusID)ON DELETE RESTRICT ON UPDATE RESTRICT;

+0

我已經在顧客地址表中設置了cusID的索引... –