WP header 重新加载
WP header reload
我是 wordpress 插件开发的新手。我编写了一些代码并且对制作菜单有了足够的了解 -- sub-menu 等。在一个 sub-menu 页面中,我制作了一个表单,用于更改数据库中我的 table 之一的电子邮件 ID。但是要停止在页面 reload/refresh/page-back 上插入数据,我必须提供一个 header 函数,但我无法做到这一点。
更简单地说,我只想在页面刷新时停止 wordpress 插件到 table 中的 inserting/update 数据。请阅读下面我的编码。
<form method="post" enctype="multipart/form-data">
<label><b>Mention Your Email Here :</b></label>
<input type="email" name="email" id="email" placeholder="Enter your email here"/><br/><br/>
<input type="submit" name="set" id="set" value="CHANGE"/>
</form>
<br/><br/>
<u>NOTE</u> :<br/>
1. Please write your email id in the field given above. This email id will be used to get emails of visitors contact query.
<br/>
2. Copy the shortcode given below to show the form on the website.<br/>
<b>[myplugin]</b>
<?php
//getting the form email id value
if (isset($_POST['set']) && !empty($_POST['email'])) {
$email = $_POST['email'];
global $wpdb;
$table_name = $wpdb->prefix . "myemail";
$result = $wpdb->update($table_name, array('id' => '1', 'email' => $email), array('id' => '1'));
if ($result > 0) {
echo "<script>alert('Successfully Updated');</script>";
} else {
exit(var_dump($wpdb->last_query));
}
$wpdb->flush();
} else {
header('location: ------?????--------------');
}
?>
在 header 中,我应该写些什么才能使页面在重新加载后回到同一页面。但是没有 inserting/updating 数据。
您可以重定向到同一页面:
header('Location: '.$_SERVER['REQUEST_URI']);
exit();
来自PHP Manual:
'REQUEST_URI'
The URI which was given in order to access this page; for instance, '/index.html'.
要使 header()
正常工作,表单处理脚本需要 运行 在 HTML 输出之前,因此您需要将其挂接到适当的 WP 操作挂钩(例如 'wp')。表单将在模板或包含中,处理函数通过 WordPress add_action()
挂钩。您还需要在保存到数据库之前清理数据。
我是 wordpress 插件开发的新手。我编写了一些代码并且对制作菜单有了足够的了解 -- sub-menu 等。在一个 sub-menu 页面中,我制作了一个表单,用于更改数据库中我的 table 之一的电子邮件 ID。但是要停止在页面 reload/refresh/page-back 上插入数据,我必须提供一个 header 函数,但我无法做到这一点。
更简单地说,我只想在页面刷新时停止 wordpress 插件到 table 中的 inserting/update 数据。请阅读下面我的编码。
<form method="post" enctype="multipart/form-data">
<label><b>Mention Your Email Here :</b></label>
<input type="email" name="email" id="email" placeholder="Enter your email here"/><br/><br/>
<input type="submit" name="set" id="set" value="CHANGE"/>
</form>
<br/><br/>
<u>NOTE</u> :<br/>
1. Please write your email id in the field given above. This email id will be used to get emails of visitors contact query.
<br/>
2. Copy the shortcode given below to show the form on the website.<br/>
<b>[myplugin]</b>
<?php
//getting the form email id value
if (isset($_POST['set']) && !empty($_POST['email'])) {
$email = $_POST['email'];
global $wpdb;
$table_name = $wpdb->prefix . "myemail";
$result = $wpdb->update($table_name, array('id' => '1', 'email' => $email), array('id' => '1'));
if ($result > 0) {
echo "<script>alert('Successfully Updated');</script>";
} else {
exit(var_dump($wpdb->last_query));
}
$wpdb->flush();
} else {
header('location: ------?????--------------');
}
?>
在 header 中,我应该写些什么才能使页面在重新加载后回到同一页面。但是没有 inserting/updating 数据。
您可以重定向到同一页面:
header('Location: '.$_SERVER['REQUEST_URI']);
exit();
来自PHP Manual:
'REQUEST_URI' The URI which was given in order to access this page; for instance, '/index.html'.
要使 header()
正常工作,表单处理脚本需要 运行 在 HTML 输出之前,因此您需要将其挂接到适当的 WP 操作挂钩(例如 'wp')。表单将在模板或包含中,处理函数通过 WordPress add_action()
挂钩。您还需要在保存到数据库之前清理数据。