我正在使用ajax保存表单。 (表单是公开的,因此任何未登录的用户都可以保存它)。 我正在使用模板刀片。那里我有一个表格。单击提交按钮后,我将表格序列化并将其发送到php throw ajax。
问题是我使用正确吗?我的意思是,该php文件应保存在哪里(在哪个目录中)。 第二个问题是我如何保护此php文件,我的意思是只有从www.example.com才能调用它,而不能从其他域调用它。 我已经在wordpress中阅读了有关admin-ajax的信息,但是我没有使用它。 请给我一些建议。
JavaScript:
$.ajax({
type: 'POST',
url: '/admin-inventory/category/AddCategory.php',
data: 'category_name=' + name,
success: function (response) {
var result = JSON.parse(response);
}
},
error: function (response) {
console.log(response.error);
});
PHP文件:
<?php
include "../../wp-load.php";
$wp_userid = get_current_user_id();
if(!$wp_userid) die(json_encode(array("error" => "Unauthorized access"), JSON_UNESCAPED_UNICODE));
if($_SERVER['REQUEST_METHOD'] === 'POST') {
if(!$_POST['category_name']) die(json_encode(array("error" => "No name"), JSON_UNESCAPED_UNICODE));
$data = array(
'name' => $_POST['category_name']
);
$data_pattern = array('%s');
$wpdb->insert("inventory_category", $data, $data_pattern);
if(!empty($wpdb->last_error)) die(json_encode(array("error" => $wpdb->last_error), JSON_UNESCAPED_UNICODE));
die(json_encode(array("action" => "Saved"), JSON_UNESCAPED_UNICODE));
}
?>