2017-03-25 79 views
1

我有一個表,從mysql數據庫產生的用戶帳戶列表。我想要一個可以從這個列表中刪除用戶的按鈕。刪除用戶帳戶的按鈕

這裏是我的形式:

<td><form action="empdelete.php"> 
<?php echo "<input type='text' name='employee' value='".$employee['username']."'/><button type='submit' class='btn btn-default'>Delete</button>"?> 
     </form></td>; 

這裏是我的empdelete.php:

<?php 
if($_POST['submit']) 
{ 
    mysql_connect("host","username","pword") or die(mysql_error()); 


    mysql_select_db("db") or die(mysql_error()); 


    $username = $_POST['username']; 


    $result=mysql_query("DELETE FROM employee WHERE username='$username'") or die(mysql_error()); 

    //confirm 
    echo "Employee Deleted"; 
} 
?> 

表名是員工和列名是用戶名。它似乎沒有工作..任何建議?

+0

你沒有輸入軸承的'username' POST,你'employee' –

+0

對不起 - 我在這個很新。你能爲我解釋多一點嗎? – sd0093

+0

'

回答

0

您可以使用正常的鏈接,並通過用戶名作爲GET參數

<?php 
    echo '<a href="empdelete.php?username='.$employee['username'].'">Delete</a>'; 
?> 

然後在你的PHP你可以採取的價值和讓你刪除

<?php 

if($_GET['username']) { 

    mysql_connect("host","username","pword") or die(mysql_error()); 
    mysql_select_db("db") or die(mysql_error()); 

    $username = $_GET['username']; 
    $result=mysql_query("DELETE FROM employee WHERE username='$username'") or die(mysql_error()); 

    echo "Employee Deleted"; 

} 

?> 

**要小心雖然 - 你的方法讓你打開SQL注入攻擊,你應該瞭解這些**

+0

謝謝克里斯。我試過了,不幸的是得到了這個錯誤信息: 你的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以在'用戶名'附近使用正確的語法];?>''在第1行 – sd0093

+0

您可以告訴我您現在使用的用於刪除鏈接的HTML嗎? – Chris

+0

工作。謝謝sooooo :) :) – sd0093

0

<input>你有name="employee",因此喲你需要$username = $_POST['employee'];

此外,你的程序容易受到SQL注入。 當你這樣做:

$username = $_POST['username']; 


    $result=mysql_query("DELETE FROM employee WHERE username='$username'") 

需要消毒$username變量。開始用這個問題來了解SQLI:

How can I prevent SQL injection in PHP?

+0

謝謝! :) – sd0093