$ _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();
  }
我可能正在做一些我看不到的简单而愚蠢的事情。有什么想法吗?
已邀请:
将添加收藏夹表单的方法设置为POST(根据isset())。那应该做。
您应该将表格更改为
method=\"POST\"
。这将在帖子正文中发送表单数据,这不会导致URL中的查询字符串发生更改。 另外,如果要修改服务器上的数据,则永远不要使用GET查询。通常的原因是GET查询通常是由漫游器/搜索引擎运行的,在这种情况下,这可能会导致将一堆收藏夹添加到数据库中。虽然我意识到这不应该发生,因为用户需要登录(大概是?),但这仍然是一种不好的做法-使用POST。

要回复问题请先登录注册