Php 从表中删除,其中ID='$id'—;变量不粘
在这里尝试执行一项非常简单的任务 我有一个Php 从表中删除,其中ID='$id'—;变量不粘,php,mysql,Php,Mysql,在这里尝试执行一项非常简单的任务 我有一个,在一些方便的中包含4行数据。我想添加一个删除按钮以从表中删除该行。delete.php中的脚本似乎已经完成,但当我返回并检查dashboard.php和PHPMyAdmin以获取列表时,该行从未被删除 以下是删除按钮的代码(在PHP中): Print”“; 转到delete.php: <? //initilize PHP if($_POST['submit']) //If submit is hit { //then connect
,在一些方便的
中包含4行数据。我想添加一个删除按钮以从表中删除该行。delete.php中的脚本似乎已经完成,但当我返回并检查dashboard.php和PHPMyAdmin以获取列表时,该行从未被删除
以下是删除按钮的代码(在PHP中):
Print”“;
转到delete.php:
<?
//initilize PHP
if($_POST['submit']) //If submit is hit
{
//then connect as user
//change user and password to your mySQL name and password
mysql_connect("mysql.***.com","***","***") or die(mysql_error());
//select which database you want to edit
mysql_select_db("shpdb") or die(mysql_error());
//convert all the posts to variables:
$id = $_POST['ID'];
$result=mysql_query("DELETE FROM savannah WHERE ID='$id'") or die(mysql_error());
//confirm
echo "Patient removed. <a href=dashboard.php>Return to Dashboard</a>";
}
?>
它拒绝坚持,因为你把它称为一件事,而用另一件事来获得它。更改:
"<input name=".$info['ID']." type=hidden>"
您还应该引用属性值,例如:
print <<<END
form action="delete.php" method="post">
<input type="hidden" name="ID" value="$info[ID]">
<input type="submit" name="submit" value="Remove">
</form>
END;
打印
出于对网络的热爱,请不要自己构建SQL查询。使用。这是我想提出的另一点。我95%确定不能给输入一个数字名称/id属性。它必须像“id_1”而不是“1”
使用php还可以创建数组
所以你可以这么做
<input name="delete[2]">
您是否可以打印,即echo“从savannah删除,其中ID='$ID'”;查看$id是否真的替换为该值。此代码易受SQL注入攻击。此外,您还必须确保人们不能通过猜测id来删除任意内容。如果这是与用户相关的数据,是什么阻止我猜测id和删除其他人的信息。我在另一篇文章中写了一个函数。。。函数安全($value){return mysql\u real\u escape\u string($value);}但是,封装:$result=mysql\u查询(“从savannah删除,其中ID='$ID'))或die(mysql\u error());使用安全功能会破坏它。。。要我再发一封信吗?谢谢克莱特斯。我知道这很简单。
$id = $_POST['ID'];
print <<<END
form action="delete.php" method="post">
<input type="hidden" name="ID" value="$info[ID]">
<input type="submit" name="submit" value="Remove">
</form>
END;
?>
form action="delete.php" method="post">
<input type="hidden" name="ID" value="<?php echo $info['ID'] ?>">
<input type="submit" name="submit" value="Remove">
</form>
<?
<input name="delete[2]">
if(isset($_POST['delete']))
foreach($_POST['delete'] as $key=>$val)
if($_POST['delete'][$key]) delete from table where id = $val