我正在使用 this javascript form在我的 WordPress 网站上,但当我提交时,它不会转到处理表单的实际 .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 文件
中 Hook 到操作以处理帖子的保存:
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
token 的代码,但您绝对应该考虑使用它们。
关于javascript - 表单提交导致 URL 损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41773590/