当前位置: 首页 > 知识库问答 >
问题:

如果自动完成,WordPress表单不会提交到数据库

郑星辰
2023-03-14

正如标题所说,如果它是自动完成的,它不会提交到数据库,但如果它没有自动完成,它会提交到数据库。我不想禁用自动完成,我不知道它为什么这样做。我的MAMP文件夹中的PHP和MySQL日志文件也没有错误。最后,它会重定向到确认页面,即使它在自动填充时没有提交到数据库。

我的代码:

function request_private() {

if(isset($_POST['privateSubmit'])) {

    global $wpdb;

    $name = sanitize_text_field($_POST['privateName']);
    $phone = sanitize_text_field($_POST['privatePhone']);
    $email = sanitize_text_field($_POST['privateEmail']);
    $time = sanitize_text_field($_POST['privateTime']);
    $people = sanitize_text_field($_POST['privatePeople']);
    $type = sanitize_text_field($_POST['privateType']);
    $requests = sanitize_text_field($_POST['privateRequests']);
    $filter = sanitize_text_field($_POST['privateFilter']);
    $antiSpam = sanitize_text_field($_POST['privateAntiSpam']);

    if ($antiSpam === '8' && $name !== '' && $name !== ' ' && $phone !== '' && $phone !== ' ' && $time !== '' && $time !== ' ' && $people !== '' && $people !== ' ' && $type !== '' && $type !== ' ' && $filter === '') {

        $table = $wpdb->prefix . 'requests';

        $data = array(
            'name' => $name,
            'phone' => $phone,
            'email' => $email,
            'time' => $time,
            'people' => $people,
            'type' => $type,
            'requests' => $requests
        );

        $format = array(
            '%s',
            '%s',
            '%s',
            '%s',
            '%s',
            '%s',
            '%s'
        );

        $wpdb->insert($table, $data, $format);

        $url = get_page_by_title('Confirmation');

        wp_redirect( get_permalink($url) );

        $admin_email = get_option('admin_email');

        $admin_message = 'You have received a new private event from ' . $name . ' on/at ' . $time . '. More information can be found on WordPress under Forms > Private Events.';
        $customer_message = '' . $name . ', this is an email to confirm that we have received your request for a private event on ' . $time . '. We look forward to seeing you!';

        mail($admin_email, "Private Event Request Confirmation", $admin_message);
        mail($email, "Private Event Request Notification", $customer_message);

        exit();

    } else {
        return false;
    }

}

}

  add_action('init', 'request_private');

失败的 HTTP 开机自检请求:

请求URL:http://localhost:5757/private-events/?ckcachecontrol=1537755652

请求方法:开机自检

状态代码: 302 已找到

远程地址: [::1]:5757

推荐人政策:降级时不得推荐人

接受范围:字节

缓存控制:最大年龄=0,无缓存,无存储,必须重新验证

连接:保持活动状态

内容长度:0

内容类型: 文本/网页;字符集 = UTF-8

日期:2018年9月24日星期一02:20:59 GMT

保持活动状态:timeout=5,max=100

位置:http://localhost:5757/confirmation/

服务器:Apache/2.2.34(Unix)mod_wsgi/3.5 Python/2.7.13 PHP/7.2.1 mod_ssl/2.2.34 OpenSSL/1.0.2j DAV/2 mod_fastcgi/2.4.6 mod_perl/2.0.9 perl/v5.24.0

X-Powerd-By:PHP/7.2.1

接受:text/html,application/xhtml xml,application/XML;q=0.9,image/webp,image/apng,/;q=0.8

接受编码:gzip、放气、压缩

接受语言: en-US,en;q=0.9,la;q=0.8,fr;q=0.7

缓存控制:最大期限 = 0

连接:保持活动

内容长度: 222

内容类型:application/x-www-form-urlencoded

Cookie:WordPress _ test _ Cookie = WP Cookie check;WordPress _ logged _ in _ CD 9 b 744 c 619529 c 4988 e 0e 94344 EAF 12 = admin | 1537891968 | RS rr6 DTZ C4 vrj 76 LHD srst 31 gpy 77 nksqjgvz 2 lcit | E1 ce 57 f 16867 a 7 ab 2 c 527d 02 f 11 bb 3 f 4390341 db 21 a 26230482226998 f 1550 ff 8;WP-settings-1 = m fold = o & library content = browse & editor = tiny MCE & post _ dfw = off & hidetb = 0 & editor _ expand = on;WP-设置-时间-1=1537719169

主机:localhost:5757

产地:http://localhost:5757

裁判:http://localhost:5757/private-events/?ckcachecontrol=1537755652

升级不安全请求:1

用户代理: Mozilla/5.0 (麦金塔;英特尔 Mac OS X 10_13_6)

AppleWebKit/537.36(KHTML,如壁虎)Chrome/69.0.3497.100 Safari/537.36

ckcachecontrol: 1537755652

私有名称:名称示例

私人邮箱:email@email.com

私人电话: 1111111111

私人时间:asd

私人:asd

私人类型:asd

privateRequests:asd

私人过滤器:

私人反垃圾邮件:8

Private ateSubmit:提交请求

成功的发布请求:

请求网址:http://localhost:5757/private-events/

请求方法:开机自检

状态代码: 302 已找到

远程地址: [::1]:5757

推荐人政策:降级时不得推荐人

接受范围:字节

缓存控制:最大年龄=0,无缓存,无存储,必须重新验证

连接:保持活动状态

内容长度:0

内容类型: 文本/网页;字符集 = UTF-8

日期: 星期一, 24 九月 2018 02:43:14 GMT

保持活动状态:timeout=5,max=100

位置:http://localhost:5757/confirmation/

服务器:Apache/2.2.34(Unix)mod_wsgi/3.5 Python/2.7.13 PHP/7.2.1 mod_ssl/2.2.34 OpenSSL/1.0.2j DAV/2 mod_fastcgi/2.4.6 mod_perl/2.0.9 perl/v5.24.0

X-Powerd-By:PHP/7.2.1

接受:text/html,application/xhtml xml,application/XML;q=0.9,image/webp,image/apng,/;q=0.8

接受编码:gzip、放气、压缩

接受语言: en-US,en;q=0.9,la;q=0.8,fr;q=0.7

缓存控制:最大期限 = 0

连接:保持活动

内容长度: 208

内容类型:application/x-www-form-urlencoded

Cookie:WordPress _ test _ Cookie = WP Cookie check;WordPress _ logged _ in _ CD 9 b 744 c 619529 c 4988 e 0e 94344 EAF 12 = admin | 1537891968 | RS rr6 DTZ C4 vrj 76 LHD srst 31 gpy 77 nksqjgvz 2 lcit | E1 ce 57 f 16867 a 7 ab 2 c 527d 02 f 11 bb 3 f 4390341 db 21 a 26230482226998 f 1550 ff 8;WP-settings-1 = m fold = o & library content = browse & editor = tiny MCE & post _ dfw = off & hidetb = 0 & editor _ expand = on;WP-设置-时间-1=1537719169

主机:localhost:5757

产地:http://localhost:5757

推荐人:http://localhost:5757/private-事件/

升级不安全请求:1

用户代理:Mozilla/5.0(Macintosh;Intel Mac OS X 10_13_6)AppleWebKit/537.36(KHTML,如Gecko)Chrome/69.0.3497.100 Safari/537.36

私有名称:名称示例

私人邮箱:email@email.com

私人电话: 1111111111

私人时间:asd

私人:asd

私人类型:asd

私有请求:

私人过滤器:

私人反垃圾邮件:8

Private ateSubmit:提交请求

共有1个答案

扶誉
2023-03-14

表单是使用自动完成还是手动填写都无关紧要。如果生成的 HTTP 请求相同,并且以相同的状态发送到服务器,则请求的处理方式应相同。我只看到三种可能性。

  1. HTTP请求不相同
  2. HTTP服务器的状态不同
  3. 测试程序有点不正确

我对成功和失败的HTTP请求进行了比较,但存在一些差异:

  1. 失败的 HTTP 请求具有额外的缓存控制查询参数和缓存控制 POST 参数。
  2. POST 参数私有请求具有不同的值。
  3. “日期”、“内容长度”和“引用站点 HTTP”字段是不同的。

要尝试的第一个实验是从失败的请求中删除 ckcache控制查询参数和 ckcache控制 POST 参数。(是否有可能 ckcache控件查询参数使服务器缓存能够绕过 PHP 处理将 HTTP 重定向返回到“http://localhost:5757/confirmation/”?

如果这不能解决问题,我还有更多的实验要做。必须有一个解释。

 类似资料:
  • 其实我是用条形码扫描器来输入字段的。如果我有3个字段,那就是: 物料条码: 物料条码: 序列条码: 步骤: 1。在物料条形码文本字段 2中扫描物料条形码。扫描条形码“项目条形码”文本字段 3中的项目条形码。在串行条码文本字段中对串行条码进行扫描,扫描后自动提交。 那么问题来了,如果所有的字段都填好了,怎么自动提交呢? 谢谢你。

  • 我试图分配用户作为版主到论坛类别(subreddits)中的透视表称为 这是桌子 版主:id、用户id、子Reddit id、创建时间、更新时间 用户: id: name: email... 子域名:id,用户id,名称。。。 我已经创建了视图,控制器和模型,但数据不会提交到数据库,我没有错误。 注意:我需要访问此路径,以便进入视图并开始提交。 编辑:我刚刚清空了函数,并将其替换为

  • 我正在提交一个pyspark作业,在客户机模式下使用spark提交。 这项工作成功完成,我可以在Spark历史记录以及纱线中验证这一点。即使在作业完成后,我仍然可以看到spark提交进程正在运行,并且不会终止。 我想从调用提交作业的调用程序中返回作业状态(Jenkins使用ssh插件发布)。有什么方法可以确保火花提交过程在完成作业后以正确的退出代码终止? 我尝试过停止火花上下文并将退出状态放在py

  • 我下面的教程,创建表单与高级自定义字段,更新用户配置文件。当我按下提交按钮时,页面变成空白(白色)。也许你们可以在下面看到一行引起麻烦的代码。教程说它告诉WordPress它在更新用户而不是页面。 我希望页面重新加载,或者在提交后重定向到另一个页面。 教程参考:https://usersinsights.com/acf-user-profile/ 这段代码在functions.php.它转换短代码

  • 问题内容: 是否可以在Struts2的操作中将表单的数据提交到Java Set? 动作代码: 表单代码: 问题答案: 该仅仅是一个集合,Struts2的对任何类型的集合的内部支持。但是对于这种类型的集合,您不能在OGNL表达式中使用索引。尝试

  • 本文向大家介绍php如何把表单内容提交到数据库,包括了php如何把表单内容提交到数据库的使用技巧和注意事项,需要的朋友参考一下 一般朋友们逛一些网站的时候,想使用网站或者看到更多网站里的内容,网站会要求用户进行新用户的注册,网站会把新用户的注册信息存入数据库中,需要的时候再进行提取。 这样网站就会首先创建自己的数据库和对应的表,我们这里使用php创建一个简单的数据库和表,使用phpMyAdmin来