Php删除行onclick

时间:2015-01-14 16:26:29

标签: javascript php mysql

大家好我有这个问题。 我有一个while循环,向我显示表的值。现在我需要你可以删除其中一个,如果它是错的。 我只是无法运行这段代码,我不明白有什么不对。 这是我的PHP,我有问题。

while( $row = mysql_fetch_array( $res ))
{

echo "<tr>

  <td> ".$row['id']."</td>
  <td> ".$row['val1']."</td>

  <form action='' method='POST'>
  <input type='submit' name='delete' value='".$row['id']."' /></td>
  </form>
  </tr>";

}

if(isset($_POST['delete'])){


$user  = $_POST['delete'];
$delet_query = mysql_query("DELETE FROM table_name WHERE id = '$user' ") or die(mysql_error());

if($delet_query) {
echo "Delete success!";

}
}

为什么不工作?非常感谢! 我需要用户可以删除该行。

2 个答案:

答案 0 :(得分:1)

您的HTML无效。您的表单前没有<td>

  <td> ".$row['val1']."</td>

      <----missing <td>
  <form action='' method='POST'>
  <input type='submit' name='delete' value='".$row['id']."' /></td>

因此,从技术角度来看,您的表单在表格内,在一行内,但不在单元格内,是自由浮动的。

另外,您的SQL容易受到injection attacks的攻击。<​​/ p>

答案 1 :(得分:1)

最好将您的值放在隐藏字段中,而不是依赖于提交按钮的值:

echo "<tr>

        <td> ".$row['id']."</td>
        <td> ".$row['val1']."</td>

        <td>
            <form action='' method='POST'>
                <input type='hidden' name='delete' value='".$row['id']."' />
                <input type='submit' value='".$row['id']."' />
            </form>
        </td>
    </tr>";

另请注意您遗失并打开<td>,相应的结束</td>不合适。