如何从链接将mysql单元格更新为null

时间:2010-12-22 08:30:33

标签: php mysql

我想通过html / php链接将mysql表中的单元格更改为null。是否有一个脚本在PHP中执行此操作(不希望在表单中使用post方法)?

一些例子:Facebook允许您只需点击一下即可删除一个墙贴。该站点允许您通过一次单击(无刷新页面)删除内容。我预测一些答案是jQuery或AJAX。我希望避免这些,但如果它没有帮助,那好吧(因为我根本不知道它们)。

2 个答案:

答案 0 :(得分:1)

只需在网址末尾放置一个查询字符串,然后通过$_GET访问它。

......但不要。 GET requests are defined as being safe。所需要的只是走链接(因为它知道发出GET请求是安全的)来毁掉你的一天。

例如:几年前,Google推出了一些软件,这些软件会跟随您访问过的网页上的链接,因此当您最终点击该链接时,它们会被缓存并等待您。使用此软件的某些人在运行写得不好的论坛软件的网站上拥有管理员权限。蜘蛛用管理员权限跑来跑去,并删除了用户看到的每条消息(因为它有一个“删除此帖子”链接而不是使用POST的表单。)

如果您想在不离开页面的情况下进行删除,那么您可以提交表单(因为我已经说服您现在使用表单,对吗?)到iframe。

答案 1 :(得分:0)

如果您害怕AJAX,可以将链接目标设置为隐藏的iframe。它有时被认为是一种肮脏的伎俩,但如果你只是想写下你的功能并继续你的生活,那么练习是可以的。

PHP方面相当简单。只需创建一个nullify.php或类似的文件:

<?php
// mysql connection code goes here
mysql_query(sprintf(
    "UPDATE `yourTable` SET `yourField` = NULL WHERE `key` = '%s' LIMIT 1",
    mysql_real_escape_string($_GET['id'])
    ));
?>

在你的前端,制作一个隐藏的iframe:

<iframe name="hidden1" id="hidden1" style="display:none" src="javascript:"></iframe>

最后,你的无效按钮:

<a href="nullify.php?id=12345" target="hidden1">Nullify</a>

快乐归零。

数据库中的

PS null 传统上表示未初始化的值。也许一面旗会更好用吗?

-n。

修改 请注意mysql_real_escape_string函数,它可以保护您免受SQL注入。蜘蛛会对我建议的方法有问题,所以有些javascript会派上用场:

<a href="javascript:document.getElementById('hidden1').location='nullify.php?id=12345';return false">Nullify</a>