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 ';
}
情况就是这样:
标题
函数)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个。下次我应该更具体一点!