当我修改使用MYSQL读取到表单中的数据时,我希望将这些更改应用到数据库中。但即使成功提交表单$_POST
价值观没有改变,它们仍然是旧的价值观
我看到AJAX中的值发生了变化,我甚至尝试用AJAX中的值插入数据库,但这不起作用<我已经花了好几天时间在这上面了,有人能帮忙吗?如果我能if(isset($_POST[\'FirstName\']))
那我就好了,但我似乎无法实现这一点。我会附上我的部分代码,有很多,但我会附上那些适用的。
// SNIPPETS FROM THE FORM: This is contained in php_DOC.php
<form id="PhysicianForm" method="POST" enctype="multipart/form-data"
autocomplete="off" action="<?php echo admin_url(\'admin-ajax.php\'); ?>" >
<input type="hidden" name="action" value="CreateProfile">
// This prints out the modified FirstName value correctly, this is the only place I can get the modified value. This is contained in php_DOC.php
jQuery(\'#SubmitInsHrs\').click( function () {
var FirstName = jQuery(\'#FirstName\').val();
alert(\'FirstName being updated...\', FirstName);
console.log(FirstName);
jQuery.ajax({
url: \'admin-ajax.php\',
type: "POST",
data: {
\'action\': \'post_language\',
\'FirstNM\': FirstName,
},
success: function (data) {
alert(data);
}
});
});
这些在
functions.php
add_action(\'wp_enqueue_scripts\',\'enqueue_jqery_form\');
add_action(\'wp_ajax_CreateProfile\',\'CreateProfile\');
function CreateProfile(){
wp_send_json_success( $_POST );
}
function enqueue_jqery_form (){
wp_enqueue_script(\'jquery-form\');
}
我也试过这样做,只是强制插入新值,但没有插入发生…。
function post_language(){
global $wpdb;
alert(\'post_language is called\');
$FirstName = isset( $_POST[\'FirstName\'] ) ? $_POST[\'FirstName\'] : \'\';
$table = \'Provider\';
$wpdb->insert( $table, array(\'FirstNM\' => $FirstName));
}
add_action(\'wp_ajax_post_language\', \'post_language\');
SO网友:Qaisar Feroz
将此添加到functions.php
add_action(\'wp_ajax_post_language\',\'post_language\');
然后在代码中进行以下任一更改。
因为jquery代码正在发送FirstNM
至服务器(非FirstName
).因此,在post_language()
函数,更改此行
$FirstName = isset( $_POST[\'FirstName\'] ) ? $_POST[\'FirstName\'] : \'\';
至
$FirstName = isset( $_POST[\'FirstNM\'] ) ? $_POST[\'FirstNM\'] : \'\';
OR更改
\'FirstNM\': FirstName,
到
\'FirstName\': FirstName,
在ajax调用中。
data: {
\'action\': \'post_language\',
\'FirstName\': FirstName, // \'FirstNM\': FirstName,
}
UPDATE:同时从中删除此行
post_language()
函数(如果尚未定义)
alert()
在PHP中,它似乎是错误地将JS函数添加到PHP中,导致PHP错误。
alert(\'post_language is called\');