2011-08-16 49 views
0
<html> 
<head><title>HEllo</title></head> 
<body> 
<input type="text" name="id"> 
<input type="text" name="name"> 
<input type="text" name="address"> 
<input type ="submit" name = "s" value = "Employee"> 
<?php 
$link =mysql_connect('localhost','root') or die("Failed"); 
mysql_select_db("gagan",$link) or die("database not exists"); 

if($_POST['s']=="Employee") 
{ 
print "g"; 
$id = mysql_real_escape_string($_POST['id']); 
$name = $_POST['name']; 
$address = $_POST['address']; 
print "hi"; 
$update = "update emp set name = $name, address=$address where id = $id"; 
$result = mysql_query($update,$link); 
print "Hello"; 
if($result) 
{ 
    print "Updated"; 
} 
else{ 
    print "$update"; 
} 
} 

?> 
</body> 
</html> 

當我運行此代碼時,它會生成通知,並且上述代碼無法工作。

公告:未定義的索引:■在C:\ WAMP \ WWW \ 1.PHP上線12

是什麼在我的代碼問題有誰能夠告訴我嗎?

+0

你發佈's'變量嗎? –

+0

嘗試刪除中不必要的空格> –

+0

注意:如何在三個值之一中使用'mysql_real_escape_string()'? –

回答

5

您忘記了表單標籤。

<form action="yourform.php" method="POST"> 
+0

我懷疑這種遺漏(以及一般的編碼風格)顯示出對HTML表單一般工作方式的誤解。他可能期望在PHP定義的HTML標籤後面可以使用PHP的價值。 –

1

您需要確保首先設置陣列成員。嘗試使用isset($_POST['s'])的結果來確保在嘗試訪問它之前設置它。

0

您需要使用設置爲發佈的方法的表單。

0

的主要問題(除了丟失的表單標籤)是一種程序流繼續試圖保存數據,即使形式尚未提交的部分。在嘗試保存數據之前,您必須檢查表單是否已經提交,如果您將數據保存部分移至其自己的腳本,則更容易。

你也有一個無效的SQL查詢,但這是另一回事:)