Php 邮政编码不';我没吃饱

Php 邮政编码不';我没吃饱,php,post,Php,Post,问题 我正在填写一篇文章,每当我点击提交按钮,它就会设置文章。 但不幸的是,由于一些随机的原因,它没有填补这个职位 代码 echo ' <form action="settings.php" method="POST"> <textarea name="area" class="input" id="textarea">'.$settings_welcome_page['paragraph'].'</textarea&

问题

我正在填写一篇文章,每当我点击提交按钮,它就会设置文章。 但不幸的是,由于一些随机的原因,它没有填补这个职位

代码

        echo '
        <form action="settings.php" method="POST">
        <textarea name="area" class="input" id="textarea">'.$settings_welcome_page['paragraph'].'</textarea><br />
        <input type="submit" value="Edit" class="button">
        </form>';

        if (isset($_POST['area'])) {
            $update = $CONNECT_TO_DATABASE->prepare("UPDATE welcome_text SET paragraph = :message");
            $update->bindValue(':message', $_POST['paragraph']);
            $update->execute();
            header ('Location: settings.php?status=sucess');    
        } else {
            echo' post not working ';
        }
echo'
“.$settings\u welcome\u页面[“段落]。”
'; 如果(isset($_POST['area'])){ $update=$CONNECT_TO_DATABASE->prepare(“更新欢迎内容集段落=:消息”); $update->bindValue(':message',$\u POST['paration']); $update->execute(); 标题('Location:settings.php?status=success'); }否则{ 回音“岗位不工作”; }
它正在返回回显“Post not working”。这意味着未设置POST“区域”

有什么问题?我怎么修理?谢谢

$_POST['paragraph']
应该是

$_POST['area']
在绑定值时,也可以在您的条件下使用ad

if(isset($_POST['area']) || (isset($_GET['status']) == 'success')){
    // code here..
} 
else{
   // code here..
}
让你看看你是否已经提交了表格,而不是陷入其他状态

一般来说,您的代码应该如下所示

if (isset($_POST['area']) || (isset($_GET['status']) == 'succes')) {
            $update = $CONNECT_TO_DATABASE->prepare("UPDATE welcome_text SET paragraph = :message");
            $update->bindValue(':message', $_POST['area']);
            $update->execute();
            header ('Location: settings.php?status=sucess');    
        } else {
            echo' post not working ';
        }
情况就是这样:

  • 您填写表格并单击“编辑”
  • 表单被发布并将数据放入数据库
  • 您重新定位到同一页面,但是没有POST(通过调用
    标题
    函数)
  • 您的页面显示,没有帖子,呈现“帖子不工作”
  • 要修复此问题,请删除
    header()
    调用,它将不会重新加载


    请参阅正确的索引:
    $\u POST['area']
    而不是代码中的
    $\u POST['paration']

    ,您的服务器将通过重定向标题回答帖子:

       if (isset($_POST['area'])) {
            header ('Location: settings.php?status=sucess');    
        } else {
            echo' post not working ';
        }
    
    当浏览器收到此标题时,会向服务器发送一个
    GET settings.php?status=suces
    。 这就是为什么您会收到
    post not working
    消息

    如果您尝试此代码,您将看到您的帖子运行良好:

    <html><body><?php 
     echo '
         <form action="settings.php" method="POST">
           <textarea name="area" class="input" id="textarea">bla bla ...</textarea><br />
           <input type="submit" value="Edit" class="button">
         </form>';
    
        if (isset($_POST['area'])) {
            echo' this was a POST of area='.$_POST['area'];
        } else {
            echo' this was a GET ';
        }
    ?></body></html>
    
    
    
    var\u转储什么($\u POST);显示我希望您的表单和查询不在同一页上。
    var\u dump($\u POST)
    的输出是什么?表单和查询在同一页上?页面名称是什么?我猜您填写的表单是正确的,但您只是立即被重定向(失去POST),正如@Kaii所提到的,您没有将正确的值插入数据库,所以你看不到任何变化。尝试删除
    标题
    ,并执行
    回显“已工作”相反,这不是问题所在。问题是“如果(isset($\u POST['area'))”,因为他得到了输出“POST not working”我的观点是,他提交时它会工作,但数据不会更新,然后他重定向它,这就是为什么重定向后它会落在其他条件下的原因谢谢,这是问题所在。现在一切正常。我只是忘了将段落编辑为“区域”,我已经运行了其中的3个。下次我应该更具体一点!