$ _GET $ _POST URL覆盖问题PHP
||
我正在为网站成员开发一个收藏夹系统,但无法发送POST数据。基本上,我想让会员进入comic_profile页面,单击“添加收藏夹”图标,然后刷新页面并说漫画已被收藏。
我的网址是:http://www.talesstudio.com/comic_profile.php?comicid=3
我的问题是,每当我单击“收藏夹”图标时,URL就会变成:http://www.talesstudio.com/comic_profile.php?addfav=提交
然后该页面将引发错误“ MISSION DATA TO RUN”,因为漫画ID没有被重新捕获。
这是最喜欢的图标/表单代码:
<?php echo \"$comicname\"; ?> <?php
$sql3 = mysql_query(\"SELECT * FROM Favorites WHERE comic_id=\'$comicid\' AND user_id=\'$userid\' LIMIT 1\");
$count3 = mysql_num_rows($sql3);
if ($count3 < 1) {
echo \'<form action=\"comic_profile.php?comicid=\'.$comicid.\'&\" method=\"GET\">
<input type=\"button\" name=\"addfav\" src=\"images/addfav.png\"></form>\';
} else{
echo \'imagefile\';
}
$comicid = ereg_replace(\"[^0-9]\", \"\", $_GET[\'comicid\']); // filter everything but numbers for security
if ($comicid == \"\") {
echo \"Added to your favorites.\";
exit();
}
和我的SQL / POST代码:
if( isset($_POST[\"addfav\"]))
{ $sqlfav = mysql_query(\"INSERT INTO Favorites (user_id, comic_id) VALUES (\'$userid\',\'$comicid\')\");
exit();
}
我可能正在做一些我看不到的简单而愚蠢的事情。有什么想法吗?
没有找到相关结果
已邀请:
2 个回复
膏焦凑
靛取糕奖穿
。这将在帖子正文中发送表单数据,这不会导致URL中的查询字符串发生更改。 另外,如果要修改服务器上的数据,则永远不要使用GET查询。通常的原因是GET查询通常是由漫游器/搜索引擎运行的,在这种情况下,这可能会导致将一堆收藏夹添加到数据库中。虽然我意识到这不应该发生,因为用户需要登录(大概是?),但这仍然是一种不好的做法-使用POST。