Database 在wordpress插件的自定义表中插入数据
我正在尝试插入数据,但由于脚本ajax调用而导致致命错误。请帮助我。提前感谢。我将此用于Wordpress插件开发Database 在wordpress插件的自定义表中插入数据,database,jquery-ui,wordpress,Database,Jquery Ui,Wordpress,我正在尝试插入数据,但由于脚本ajax调用而导致致命错误。请帮助我。提前感谢。我将此用于Wordpress插件开发 include_once($_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-config.php' ); global $wpdb; $table ='wp_mnggallery'; if(isset($_POST['img'])){ $img = $_POST['img']; $back_image = $_POST['back_img'];
include_once($_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-config.php' );
global $wpdb;
$table ='wp_mnggallery';
if(isset($_POST['img'])){
$img = $_POST['img'];
$back_image = $_POST['back_img'];
$url = $_POST['url'];
$data = array(
'id' => "",
'images' => "$img",
'back_image' => "$back_image",
'url'=>"$url"
);
$number_images = count($img);
//Inserting the data
$q = $wpdb->insert($table ,$data);
echo $img.' is updated succefully <br>';
}
include_once($_SERVER['DOCUMENT_ROOT'.]./wordpress/wp config.php');
全球$wpdb;
$table='wp_mnggallery';
如果(isset($_POST['img'])){
$img=$_POST['img'];
$back\u image=$\u POST['back\u img'];
$url=$_POST['url'];
$data=数组(
“id”=>“”,
“图像”=>“$img”,
'back_image'=>“$back_image”,
'url'=>“$url”
);
$number_图像=计数($img);
//插入数据
$q=$wpdb->insert($table,$data);
echo$img.“已成功更新
”;
}
从另一个页面发送此代码的Ajax调用是:
<script>
$('#submit').submit(function(event){
event.preventDefault();
var img = $('#img').val();
var backimage = $('#back_img').val();
if(img!=''&backimage!=''){
$.ajax({
type: "POST",
url: '<?php echo plugins_url(); ?>/mngimageeffects/post.php',
data: $('#submit').serialize(),
success: function( response ) {
$('#error').html( response );
$('#mng_img').append('<div class="col-md-4"><img src="'+img+'"width="100%"/></div><div class="col-md-2"><a href="<?php $_SERVER['PHP_SELF']; ?>"><button class="btn btn-primary delete" id="delete">Upload</button></a></div>');
//delete = delete + 1;
$('#img').val('');
$('#back_img').val('');
$('#url').val('');
}
});
}else{
alert('Please Enter The Frent Image and Back Images Urls: ');
}
});
</script>
$(“#提交”).submit(函数(事件){
event.preventDefault();
var img=$('#img').val();
var backimage=$('#back_img').val();
如果(img!=''&backimage!=''){
$.ajax({
类型:“POST”,
url:“/mngimageeffects/post.php”,
数据:$(“#提交”).serialize(),
成功:功能(响应){
$('#error').html(响应);
$('#mng_img')。附加('');
//删除=删除+1;
$('#img').val('');
$('#back_img').val('');
$('#url').val('');
}
});
}否则{
警报('请输入法语图像和背景图像URL:');
}
});
当您想在WordPress之外使用WordPress函数时,不应包含配置文件,而应包含wp-load.php
define( 'SHORTINIT', true );
require( '/path/to/wp-load.php' );
// use $wpdb after this
在Wordpress插件中使用AJAX
jQuery('#submit').submit(function(event){
event.preventDefault();
var img = jQuery('#img').val();
var backimage = jQuery('#back_img').val();
var url = jQuery('#url').val();
var data = {
action: 'submit_data',
img: img,
back_img: backimage,
url : url,
};
if(img!=''&backimage!=''){
jQuery.ajax({
type: "POST",
url: ajaxurl, // if its front end else use else ajaxurl
data:data,
dataType: 'html',
success: function( response ) {
alert(response+'sdfs')
jQuery('#error').html( response );
jQuery('#mng_img').append('<div class="col-md-4"><img src="'+img+'"width="100%"/></div><div class="col-md-2"><a href="<?php $_SERVER['PHP_SELF']; ?>"><button class="btn btn-primary delete" id="delete">Upload</button></a></div>'); //delete = delete + 1;
jQuery('#img').val(''); jQuery('#back_img').val(''); jQuery('#url').val('');
},
error : function(data){
alert('Error while deleting.');
return false;
}
});
}
else{ alert('Please Enter The Frent Image and Back Images Urls: '); }
jQuery('#submit').submit(函数(事件){
event.preventDefault();
var img=jQuery('#img').val();
var backimage=jQuery('#back_img').val();
var url=jQuery('#url').val();
风险值数据={
操作:“提交数据”,
img:img,
背面图像:背面图像,
url:url,
};
如果(img!=''&backimage!=''){
ajax({
类型:“POST”,
url:ajaxurl,//如果其前端使用else,则使用else-ajaxurl
数据:数据,
数据类型:“html”,
成功:功能(响应){
警报(响应+SDF)
jQuery('#error').html(响应);
jQuery('#mng_img').append('')//delete=delete+1;
jQuery('img').val('');jQuery('back#img').val('');jQuery('url').val('');
},
错误:函数(数据){
警报('删除时出错');
返回false;
}
});
}
else{alert('请输入法语图像和背景图像URL:');}
}))
在PHP方面
add_action( 'wp_ajax_my_action', 'submit_data' ); // excutes for users that are logged in.
add_action( 'wp_ajax_nopriv_submit_data', 'submit_data' ); //executes for users that are not logged in.
function submit_data(){
global $wpdb;
$table ='wp_mnggallery';
if(isset($_POST['img'])){
$img = $_POST['img'];
$back_image = $_POST['back_img'];
$url = $_POST['url'];
$data = array(
'id' => "",
'images' => "$img",
'back_image' => "$back_image",
'url'=>"$url"
);
$number_images = count($img);
//Inserting the data
$q = $wpdb->insert($table ,$data);
echo $img.' is updated succefully <br>';
wp_die();
}
}
add_action('wp_ajax_my_action','submit_data');//已登录用户的excutes。
添加操作(“wp\u ajax\u nopriv\u submit\u data”、“submit\u data”)//为未登录的用户执行。
函数提交_数据(){
全球$wpdb;
$table='wp_mnggallery';
如果(isset($_POST['img'])){
$img=$_POST['img'];
$back\u image=$\u POST['back\u img'];
$url=$_POST['url'];
$data=数组(
“id”=>“”,
“图像”=>“$img”,
'back_image'=>“$back_image”,
'url'=>“$url”
);
$number_图像=计数($img);
//插入数据
$q=$wpdb->insert($table,$data);
echo$img.“已成功更新
”;
wp_die();
}
}
url应该是url:admin\uURL('admin ajax.php')
,如果其前端使用ajaxurl
,它将自动包含必要的文件
出现了什么错误?请不要添加此标记或链接:include_once($\u SERVER['DOCUMENT_ROOT']./wordpress/wp config.php');但现在我没有发现错误,但它没有在表中插入数据,这是我无法理解的原因。代码看起来不错,你确定表名正确,字段名正确吗?你确定相同的表名和字段也相同。我还重新检查了从我的ui到该文件的数据是否成功地仅发送$q=$wpdb->insert($table,$data); 非常感谢您,先生,如果我放置此标记进行回复,则显示如下错误:-警告:require(/path/to/wp load.php):无法打开流:在第7行的C:\wamp\www\listings\wp content\plugins\mngimageeffects\post.php中没有这样的文件或目录,致命错误:require():无法打开required'/path/to/wp load.php'(include_path=';C:\php\pear')inIt认为必须将“path/to/wp-load.php”更改为您自己的路径。在这种情况下,可能
require('../../../../wp-load.php');
非常感谢您的回复,但我没有收到提交url:admin_url('admin ajax.php')的结果这一个。我尝试使用此代码,但它不工作。加载资源失败:服务器响应状态为404(未找到),并且--php code.event.preventDefault()将我重命名为admin-ajax.php;重新加载页面不起作用。如果我提交表单,ajax警报函数的内部也不起作用。是否将包含插入代码的php文件包含到核心文件中?意味着应包含相同的页面