如何在运行自定义php脚本文件时防止wordpress加载

如何在运行自定义php脚本文件时防止wordpress加载,php,ajax,wordpress,jquery,Php,Ajax,Wordpress,Jquery,大家好,我正在用AJAX.post运行一个php脚本,脚本正在运行,但问题是从.post返回的调用返回了整个wordpress页面,而不仅仅是我的脚本返回的数据。这就像我调用脚本时再次加载页面一样 此ajax调用在single-post.php中进行 $.ajax({ url: 'localhost/check/checkuser.php', data: {action: window.myId}, type: 'post', success: function(o

大家好,我正在用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文件时,它会将enture页面发送回,我能做些什么呢

领先10倍的家伙

一些人建议:

  • 对于数据库操作,请使用
    global$wpdb
  • 您的脚本不受保护
  • 对于wordpress中的ajax调用,我建议您使用WP提供的ajax脚本
  • 制作一个(简单的插件)
    例如:
  • wp content/plugins/userchecker.php
    (您的文件)

    
    
    通过这种方式,您可以以良好的WP方式执行和激活自己的代码。

    所有内置WP函数和类都将可用,因此您不需要包含任何WP文件

    您的checkuser.php脚本中是否包含任何wordpress文件?如果是,可能会添加一个exit();在
    echo$sharing之后就可以了。但是如果你包括wordpress文件,那么你可能还想使用一些wordpress类(特别是数据库)。另外,请阅读更多关于MySQL注入的信息(你似乎没有在任何地方检查
    $userid
    ):我在脚本中没有包括任何wordpress文件,但由于某种原因,当我运行脚本时,整个页面都会加载它。10x我试试看!。我认为可能有一个特定的位置来放置这些脚本。我仍然不明白为什么在我运行脚本时整个页面会再次加载。如果你是一个新手,这可能看起来有点过分,但从长远来看,这将对你有益。
    <?php
    /*
    Plugin Name: user checker
    Description: A brief description of the Plugin.
    Version: 0.9
    */
    
    //your code
    ?>