Php 为什么textarea在表单提交时显示旧内容?
我有一个textarea,我可以更新它的内容,然后当我单击submit按钮时将其发送到db:Php 为什么textarea在表单提交时显示旧内容?,php,Php,我有一个textarea,我可以更新它的内容,然后当我单击submit按钮时将其发送到db: <form action="" method="POST" class="myForm" autocomplete="off"> <textarea name="newContent" class="form-control" rows="10"><?php the_content(); ?></textarea> <input id="u
<form action="" method="POST" class="myForm" autocomplete="off">
<textarea name="newContent" class="form-control" rows="10"><?php the_content(); ?></textarea>
<input id="update_content" name="subContent" type="submit" value="Update">
</form>
<?php
$post = array(
'ID' => $id,
'post_content' => $_POST['newContent']
);
if ('Update' === ($_POST['subContent'] ?? false)) {
wp_update_post($post, true);
}
?>
一切都很好,数据库已经更新。然而,当页面在表单提交时重新加载时,文本区域会显示旧内容。如果手动刷新页面,则会看到新内容
我还尝试添加了在输出表单之前需要更新的
<代码>更新代码>表单,不是表单->更新代码
@Sean而是wp\u update\u post($post,true)
用于更新数据库,为什么我以前也要使用它?我知道wp\u update\u post($post,true)代码>更新数据库。但是,在输出表单之前,需要先检查这些代码。所以它应该是。。。wp_update_post($post,true)编码>然后内容()代码>。这就是为什么您的文本区域显示旧代码,因为它是在您更新/更改之前从数据库中提取的,以及为什么您必须手动刷新页面。@Sean这不是它的工作方式。除了检查缓存之外,我手动更新页面以进行测试,而不是出于技术原因。这就是它正在发生的事情<代码>wp_更新_发布($post,true)
用于将
表单内容发送到数据库,而不是读取
。您可以看到,在发送问题的代码中,我有一些条件
。问题可能在内容()
中,因为正如您所提到的,刷新会获得正确的数据,因此您必须检查该函数中如何处理数据。