我正在使用下面的代码来插入数据int我的WordPress数据库.此代码不能正常工作,当我插入数据时,它显示相同的页面和数据没有被插入到数据库.
<?php get_header(); ?>
<div class="content">
<form>
Job Title: <input type="text" name="jtitle"><br><br>
Job Link: <input type="text" name="jlink"><br><br>
Job Last date: <input type="text" name="jld"><br><br>
<input type="submit" value="Add Job" name="insert"><br><br>
</form>
<?php
if (isset($_POST['insert'])) {
$jt=$_POST['jtitle'];
$jl=$_POST['jlink'];
$jld=$_POST['jld'];
global $wpdb;
$sql=$wpdb->insert("wp_job",array("jtitle"=>$jt,"jlink"=>$jl,"jld"=>$jld));
if ($sql==true) {
echo "<script>alert('New Job Added')</script>";
}
else {
echo "<script>alert('New Job Not Added!')</script>";
}
}
?>
</div><!-- .content /-->
4条答案
按热度按时间nlejzf6q1#
您提交表单时没有指定method属性,需要定义method=“post”通过isset($_POST ['insert'])获取数据,也可以使用$_REQUEST获取所有数据,但我建议您定义action和method*属性**。
这里还可以看到默认的表单方法是GETx 1 e0f1x
祝你好运谢谢
kokeuurv2#
您正在使用默认的HTTP GET方法而不是POST方法提交表单数据。由于HTML表单标记没有指定提交方法,因此默认为GET而不是POST。
将HTML中的表单标记更改为
<form method="POST">
,或者在PHP中将$_POST
值更改为$_GET
。如果你需要的话,这里有一些HTML 5表单的文档https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fs-action
PS:你不需要检查变量
$_POST['insert']
是否设置为提交。你可以只做isset($_POST)
来查看是否有表单数据被提交。祝你好运!
hfsqlsce3#
您需要在表单标签中添加值为“Post”的“action”属性
测试和作品。谢谢
q3aa05254#
如果你使用WordPress,你需要用WordPress的方式处理POST请求