Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MYSQL ajax Yii框架登录错误_Php_Mysql_Ajax_Yii - Fatal编程技术网

PHP MYSQL ajax Yii框架登录错误

PHP MYSQL ajax Yii框架登录错误,php,mysql,ajax,yii,Php,Mysql,Ajax,Yii,嗨,我正在尝试在Yii框架中建立一个php/mysql登录。我目前已经构建了相关的脚本,它没有调用webservice脚本,有人能帮我找到它吗,下面是三个脚本的相关函数,分别根据调用情况 Login.php $(function() { $("#login-form").submit(function( event ) { event.preventDefault(); var username = $("#username")

嗨,我正在尝试在Yii框架中建立一个php/mysql登录。我目前已经构建了相关的脚本,它没有调用webservice脚本,有人能帮我找到它吗,下面是三个脚本的相关函数,分别根据调用情况

Login.php

$(function() {
        $("#login-form").submit(function( event ) {

            event.preventDefault();

            var username = $("#username").val();
            var password = $("#password").val();
            var params = {username: username, password: password};

            var sendingData = { id: 1, jsonrpc: "2.0", method: "login", params:params};
            $.ajax({
                type: "POST",
                url: "/webservice.php", 
                contentType: 'application/json; charset=utf-8',
                dataType: "json",
                async: false,
                data: JSON.stringify(sendingData),
                success: function( msg ) {
                  alert( "Data Saved: " + msg.result );
                  if(msg.result != false){
                  window.location = "index.php";
                  }else
                  {
                      alert("Invalid Username or Password");
                      window.location = "login.php";
                  }

                }
              });

       });
  });
    function login($params) {
    $main = new main();

    $ret = $main->login($params["username"], $params["password"]);
    if($ret != false){
        $_SESSION['usertype'] = $ret->usertype;
        $_SESSION['username'] = $params["username"];
        }
    return $ret;}

***main.php***

    'db'=>array(
            'class'=>'CDbConnection',
            'connectionString'=>'mysql:host=localhost;dbname=login',
            'username'=>'root',
            'password'=>'root',
            'emulatePrepare'=>true,  // needed by some MySQL installations
        ),

    function login($usr,$pwd) {
        $connection=Yii::app()->db;
        $query = "SELECT * FROM login";
        $dataReader=$command->query();
        $row = mysql_fetch_array($dataReader);
        $log = new stdClass();
        if($row) {
            $pro->accountID = (int)$row['accountID'];
            $pro->accountname = $row['accountname'];
            $pro->usertype = (int)$row['usertype'];
                    $string = rand() . 'SURVAYLAND' . rand() . $usr. $pwd;
                $_SESSION['SURVEY_AUTHENTICATE_KEY'] = md5($string);
        } else {
            $pro = false;
        }


}
Webservice.php

$(function() {
        $("#login-form").submit(function( event ) {

            event.preventDefault();

            var username = $("#username").val();
            var password = $("#password").val();
            var params = {username: username, password: password};

            var sendingData = { id: 1, jsonrpc: "2.0", method: "login", params:params};
            $.ajax({
                type: "POST",
                url: "/webservice.php", 
                contentType: 'application/json; charset=utf-8',
                dataType: "json",
                async: false,
                data: JSON.stringify(sendingData),
                success: function( msg ) {
                  alert( "Data Saved: " + msg.result );
                  if(msg.result != false){
                  window.location = "index.php";
                  }else
                  {
                      alert("Invalid Username or Password");
                      window.location = "login.php";
                  }

                }
              });

       });
  });
    function login($params) {
    $main = new main();

    $ret = $main->login($params["username"], $params["password"]);
    if($ret != false){
        $_SESSION['usertype'] = $ret->usertype;
        $_SESSION['username'] = $params["username"];
        }
    return $ret;}

***main.php***

    'db'=>array(
            'class'=>'CDbConnection',
            'connectionString'=>'mysql:host=localhost;dbname=login',
            'username'=>'root',
            'password'=>'root',
            'emulatePrepare'=>true,  // needed by some MySQL installations
        ),

    function login($usr,$pwd) {
        $connection=Yii::app()->db;
        $query = "SELECT * FROM login";
        $dataReader=$command->query();
        $row = mysql_fetch_array($dataReader);
        $log = new stdClass();
        if($row) {
            $pro->accountID = (int)$row['accountID'];
            $pro->accountname = $row['accountname'];
            $pro->usertype = (int)$row['usertype'];
                    $string = rand() . 'SURVAYLAND' . rand() . $usr. $pwd;
                $_SESSION['SURVEY_AUTHENTICATE_KEY'] = md5($string);
        } else {
            $pro = false;
        }


}

你完全搞错了。你写的代码不是Yii方式

因为Yii是一个应用程序框架,它迫使您应用某种适合其框架的编码结构。你的代码没有。要应用此功能,请转到Yii文档站点并查看框架的工作原理

Yii还生成一个包含用户登录的现成应用程序,因此您已经有一些工作要做了

但是,我可以告诉您,问题的开始是您对远程URL的调用。“/webservice.php”应该是对“/index.php”的调用,其中包含路由和操作的参数。比如说

        url: "/index.php?r=webservice/login", 
此url应指向包含actionLogin方法的Yii控制器文件WebserviceController.php

class WebserviceController extends Controller
{
  public function actionLogin()
  {
     so_domething_here();
  }
}

参考资料:

这不是yii代码。