表单提交会导致 URL 损坏



我在我的WordPress网站上使用了这个javascript表单,但是当我提交时,它不会进入处理表单的实际.php文件。

这是我表格的顶部:

<form method="post" action="www.example.com/wp-content/themes/foundry/php/smartprocess.php" id="contact">

但是当我单击提交时,它会将我带到一个损坏的 URL,该 URL 将该 URL 添加到提交页面的基本 URL,如下所示:

http://example.com/form/www.example.com/wp-content/themes/foundry/php/smartprocess.php

我将.php文件存储在该确切位置,但它不会直接转到该位置。我已经三重检查了文件位置,它匹配了所有内容。

只需在www前面加上// 即可。这是一种基于现有架构解析 URL 的不可知方法。例如,如果通过http访问,它将解析为http://www否则,如果它是安全的,它将解析为https://www

此外,您不应该在Wordpress中发布到Raw PHP文件。您应该发布到相关 URL,然后在您的functions.php或其他plugin file挂钩到操作中以处理帖子的保存:

add_action('save_post', 'save_smart_process_post');
function save_smart_proces_post($post_id) {
    if(isset($_POST['my_form_values'])) {
        //this is a form that can be processed by your custom form functions.
    }
}

请注意,对于一个缩小的示例,我省略了有关CSRF令牌的代码,但您绝对应该考虑使用它们。

最新更新