0

我正在为 wordpress 制作一个简单的 javascript 登录表单。我有表单提交到以下 php 位来处理登录:

<?php
get_header(); 
global $user_ID;


if (!$user_ID) {

    if($_POST){
        //We shall SQL escape all inputs
        $username = $wpdb->escape($_REQUEST['username']);
        $password = $wpdb->escape($_REQUEST['password']);
        $remember = $wpdb->escape($_REQUEST['rememberme']);

        if($remember) $remember = "true";
        else $remember = "false";
        $login_data = array();
        $login_data['user_login'] = $username;
        $login_data['user_password'] = $password;
        $login_data['remember'] = $remember;
        $user_verify = wp_signon( $login_data, false ); 
        //wp_signon is a wordpress function which authenticates a user. It accepts user info parameters as an array.

        if ( is_wp_error($user_verify) ) 
        {
           echo "<span class='error'>Invalid username or password. Please try again!</span>";
           exit();
         } else 
         {  
            echo "<script type='text/javascript'>window.location='". get_bloginfo('url') ."'</script>";
            exit();
          }
    } else { 

//get_header();

?>

关于我为什么会收到错误的任何想法?干杯,丹

4

1 回答 1

0

您正在使用$wpdb对象并调用脚本ajax可能在您的脚本中不可用(错误消息说),要$wpdb在您的脚本中使用首先使用以下行将您的脚本连接到 Wordpress

include "/path-to-wordpress/wp-blog-header.php";

为了$wpdb从函数内部访问,您必须在全局范围内定义它,如下所示

function my_function() {
    global $wpdb;
    $wpdb->query('...');
}

此文件位于 WordPress 安装的根目录中。

于 2012-09-02T21:33:44.473 回答