0

大家好,我正在使用 AJAX .post 运行 php 脚本,该脚本正在运行,但问题是从 .post 返回的调用返回整个 wordpress 页面,而不仅仅是我的脚本返回的数据。就像我调用脚本时再次加载页面一样。

此 ajax 调用位于 single-post.php 中

$.ajax({ url: 'localhost/check/checkuser.php',
     data: {action: window.myId},
     type: 'post',
     success: function(output) {
                  alert(output);
              }
}); 

和 checkuser.php

$userid = $_POST['action'];

//$userid = 'zivvv';

 $oMySQL = new MySQL();
 $query = "Select share FROM videotable WHERE uid = '$userid'";
 $oMySQL->ExecuteSQL($query);
 $bb = $oMySQL->iRecords;
 $aa = $oMySQL->aResult;

  if ($bb == 0){
$query = "INSERT INTO videotable VALUES ('','$userid','true')";
$oMySQL->ExecuteSQL($query);
echo 'true';
return 'true';
 }else{
$sharing = mysql_result($aa,0,"share");
echo $sharing;
return $sharing;
 }

我是 PHP 新手,从我看到返回的调用来看,它只是返回“屏幕”上的所有内容,所以当 wordpress 页面加载 checkuser.php 文件时,它会将整个页面发回,我能做些什么呢?

10X 领先的家伙

4

1 回答 1

1

一些建议:

  1. 对于数据库操作,请使用global $wpdb http://codex.wordpress.org/Class_Reference/wpdb
  2. 您的脚本不受sql 注入保护
  3. 对于 wordpress 中的 ajax 调用,我建议你使用 ajax 脚本 WP 有http://codex.wordpress.org/AJAX_in_Plugins
  4. 制作一个(从此的简单插件)http://codex.wordpress.org/Writing_a_Plugin
    示例:

wp-content/plugins/userchecker.php(你的文件)

<?php
/*
Plugin Name: user checker
Description: A brief description of the Plugin.
Version: 0.9
*/

//your code
?>

通过这种方式,您可以以良好的 WP 方式执行和激活您自己的代码。
所有内置 WP 函数和类都将可用,因此您无需包含任何 WP 文件

于 2012-05-14T12:08:06.950 回答