2013-07-14 31 views
-2

回聲'你好程序員';PHP刪除未定義的索引?

我正在處理記錄刪除功能。不過,我現在對於一個反覆出現的未定義索引問題有點失落。

這是前端代碼。

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post"> 
Select member to <b> DELETE! </b>: <select name="mid"> 
<?php 
while($row = mysqli_fetch_assoc($result)) 
echo "<option value='{$row['mid']}'>{$row['mid']} </option>"; 
?> 
</select> 
<input type="submit" value=">!DELETE!<" /> 
</form> 

<?php 
} 

else 
{ 
$mid = $_POST['mid']; 
$name = $_POST['name']; 
$address = $_POST['address']; 
$postcode = $_POST['postcode']; 
$photo = $_POST['photo']; 
$db1 = new dbmember(); 
$db1->openDB(); 
$numofrows = $db1->delete_member($mid, $name, $address, $postcode, $photo); 
echo "Success. Number of rows affected: 
<strong>{$numofrows}<strong>"; 


$db1->closeDB(); 
} 

所以發生了什麼是我們從下拉菜單中選擇一個ID。然後,當刪除按鈕被按下到類方法來執行刪除時,我們會傳遞此ID。

function delete_member($mid, $name, $address, $postcode, $photo) { 
     $esc_name = mysqli_real_escape_string($this->conn, $name); 
     $esc_address = mysqli_real_escape_string($this->conn, $address); 
     $esc_postcode = mysqli_real_escape_string($this->conn,$photo); 
     $esc_photo = mysql_reali_escape_string($this->conn, $photo); 

     $sql = "DELETE FROM member WHERE mid = $mid"; 
     $result = mysqli_query($this->conn, $sql); 

     if ($result) { 
      $numofrows = mysqli_affected_rows($this->conn); 
      return $numofrows; 
      } 
      else 
       $this->error_msg = "could not connect for some wierd reason"; 
         return false ; 
    } 

Notice: Undefined index: name in C:\xampp\htdocs\dbm\deletemember.php on line 120 

也許我需要替換'Else'操作符,或者一起刪除它?謝謝。

+0

您的表單只有'mid' – DevZer0

+0

爲什麼當您僅使用'mid'刪除用戶時甚至需要其他參數? –

+0

你能詳細說說....嗎?請記住,在切換到mysqli之前,這一切都工作正常。感謝downvote,無論是誰。 – Lemonsface

回答

0

變化:

$db1->delete_member($mid, $name, $address, $postcode, $photo); 

要:

$db1->delete_member($mid); 

而變化:

function delete_member($mid, $name, $address, $postcode, $photo) { 

要:

function delete_member($mid) { 

刪除第1行到第4行在您的delete_member函數中

+0

直接,謝謝。 – Lemonsface