管理者が店舗で購入する顧客の詳細を表示できるWebサイトを作成しようとしています。ホームページにはすべての顧客の名前が表示されます。クリックすると、各顧客の詳細情報を提供するCustomerDetails.phpというページが表示されます。私は、管理者が特定の顧客にメモを追加できるようにするためのコードを書こうとしています。この2つの表は、次のとおりです。HTMLフォームを使用してデータベースにデータを挿入する際にエラーが発生する
CREATE TABLE PHPNotes(
NoteID INT,
NoteContent VARCHAR(100) NOT NULL,
CustomerID INT,
FOREIGN KEY (CustomerID) REFERENCES CustomerEnrolment(CustomerID),
PRIMARY KEY(NoteID))ENGINE=InnoDB;
CREATE TABLE CustomerEnrolment(
CustomerID INT,
Name VARCHAR(30),
Email VARCHAR(30),
PhotoURL VARCHAR(30),
PRIMARY KEY(CustomerID)) ENGINE=InnoDB;
私はフォームからデータを取り込み、この特定のデータをデータベースに挿入しようとしています。しかし、私が書いたコードには誤りがあると言われています。
<?php
$Name = $_GET['Name'];
$CustomerID = $_GET['CustomerID'];
$sql1 ="SELECT * FROM CustomerEnrolment WHERE CustomerID='$CustomerID'";
$sql2 ="SELECT c.*, e.CustomerID FROM CustomerNotes c, CustomerEnrolment e WHERE e.CustomerID=n.CustomerID AND Name='$Name'" ;
if(! get_magic_quotes_gpc()) {
$NoteContent = addslashes ($_POST['NoteContent']);
}
else {
$NoteContent = $_POST['NoteContent'];
}
$NoteID = $_POST['NoteID'];
$sql = "INSERT INTO CustomerNotes ". "(NoteID,NoteContent,CustomerID) ". "VALUES('$NoteID','$NoteContent','$CustomerID')";
$result = mysql_query($sql);
if(! $result) {
die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";
?>
<p> Add New Customer Record </p>
<form method = "post" action = "<?php $_PHP_SELF ?>">
<table id="Add Record">
<tr> <td> Note ID </td>
<td> <input name = "NoteID" type="text" id="NoteID"></td>
<td> <input name = "NoteContent" type="text" id="NoteContent"></td> </tr>
<tr> <td> <input type="hidden" name="CustomerID" value="$CustomerID"></td> </tr>
<tr> <td> <input name = "Add Customer Note" type = "submit" id = "Add Customer Note" value = "Add Customer Note"> </td> </tr>
</table>
</form>
エラーは以下のとおりです。
Notice: Undefined index: CustomerID
Notice: Undefined index: NoteContent
Notice: Undefined index: NoteID
Could not enter data: Duplicate entry '0' for key 'PRIMARY'
私は素晴らしいことだ上のつもりどこにのようないくつかのアドバイス!
"post"メソッドとして使用されるフォーム – selvan