【问题标题】:POST doesn't work finePOST 不能正常工作
【发布时间】:2013-10-19 14:35:03
【问题描述】:

我的代码有问题:

if ($_POST) { 
//send confirmation email (or insert into database, etc...) 

if(isset($_POST['del'])) {

    $Link = $_POST['del_link'];

    $query = "UPDATE comentarios SET del = '1' WHERE id = '".$Link."'";
    mysql_query($query) or die ('Error: ' . mysql_error());
    //header('Location: http://google.es'); //For debug    
   }    
}

echo '<form name="del" method="post">
<input type="hidden" name="del_link" value="'.$rowComen['id'].'" />
<a href="#" onclick="get_form(this).submit(); return false;">Delete</a>
</form>';

但是当我按下链接时,网络会刷新,仅此而已......

我曾尝试过:header('Location: http://google.es'); 但我没有重定向到谷歌...

而且我不知道问题出在帖子中还是在查询中……

【问题讨论】:

  • 您的表单中只有一个隐藏字段。你想达到什么目的?加上enctype="multipart/form-data" 用于文件附件或上传(仅供参考)加上你没有名为form1的表单元素
  • 好吧,我正在尝试发送到查询 "UPDATE comentarios SET del = '1' WHERE id = '22'" 的 mysql 表,我编辑了 form1 部分...谢谢你的投票!
  • get_form() 函数在哪里?还有什么工作数据库明智吗?
  • 哦!我忘记了,但我认为它的代码工作正常,因为我提交表单时我的网络刷新......
  • 我感觉需要展示更多代码来解决它。

标签: php html mysql forms header


【解决方案1】:
 if(isset($_POST['del'])) {

您似乎没有del 表单字段。所以这个 if 语句中的代码永远不会被执行。我认为您正在尝试检查 del_link。所以改成if(isset($_POST['del_link'])) {

【讨论】:

    【解决方案2】:

    您是否在浏览器中检查过它是否包含正确的值?表单将包含确切的值'.$rowComen['id'].',除非 PHP 代码的一部分丢失并且表单实际上是在字符串中..

    [编辑]

    我明白了。表单的名称是“del”,但从不发送该名称。将提交按钮的名称设为“del”,或添加另一个隐藏元素。更简单:只需检查del_link 的存在而不是del:

    if(isset($_POST['del_link'])) {
    
        $Link = $_POST['del_link'];
    

    【讨论】:

    • 我会投票给你,但你的声望更高...所以我将标记为已解决其他答案..
    猜你喜欢
    • 1970-01-01
    • 2013-03-30
    • 2010-11-30
    • 2021-10-02
    • 2017-08-06
    • 2013-11-22
    • 1970-01-01
    • 2013-09-10
    • 2017-04-05
    相关资源
    最近更新 更多