【发布时间】:2011-02-24 18:58:11
【问题描述】:
在发布我的表单之前,我会检查数据库以查看用户之前是否有任何帖子。如果有以前的帖子,那么脚本将返回一条消息,说明您已经发布了。
问题是我试图实现的目标是行不通的,在我的 else 语句之后一切都出错了。也可能存在sql注入漏洞。你能帮忙吗??4
<?php
include '../login/dbc.php';
page_protect();
$customerid = $_SESSION['user_id'];
$checkid = "SELECT customerid FROM content WHERE customerid = $customerid";
if ($checkid = $customerid) {echo 'You cannot post any more entries, you have already created one';}
else
$sql="INSERT INTO content (customerid, weburl, title, description) VALUES
('$_POST[customerid]','$_POST[webaddress]','$_POST[pagetitle]','$_POST[pagedescription]')";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
?>
【问题讨论】:
-
仅供参考,使用
$_SESSION用户ID 验证客户可能不是最好的想法,但随后使用$_POST用户ID 插入记录。即使没有 SQL 注入,也可以很容易地使用此方法欺骗其他用户。