登录代码适用于localhost,但不适用于Godaddy Server

时间:2015-10-20 10:14:54

标签: php mysql pdo

我开发了一个小项目。哪个在localhost中运行正常。托管后,我建立了一个数据库,现在登录不起作用。这是我的代码。

这是Iam在管理员表单附近使用的脚本。      

$(document).ready(function(){

    $('#login_form_button').click(function(event){
        event.preventDefault();
        $('#fill_form').css('display','none');
        $('#correct_form').css('display','none');
        var username = $('#email').val();
        var password = $('#pwd').val();
        if(username == '' || password == ''){
            $('#fill_form').css('display','block');
        }else{
        $.post('admin_login.php', {check:'check'}, function(data){
            if(data == '1'){
                window.location.href= 'admin_home.php';
            }else{
                $.post('admin_login.php', {username:username, password:password}, function(data){
                if(data == '1'){
                window.location.href= 'admin_home.php';
            }else{
            alert(data); $('#correct_form').css('display','block');   
            }
                });
            }
        });


        }
    });
});

</script>

这是admin_login.php

<?php
 require_once 'php/core/init.php';
 if(Input::exists()){
 $input_string = Input::get('check');
 if($input_string === 'check'){        if(Session::exists(Config::get('session/admin_name'))){
echo '1';
exit();
     }
     }
     $username = Input::get('username');
$password = Input::get('password');
$user = new User();
$username = User::sanitize($username);
$password = User::sanitize($password);
if($user->login_admin($username, $password)){
    echo '1';
}else{
    echo 'none m';
}
 }

这是User.php

  <?php
 class User{

private $_db;

public function __construct($user = null){
    $this->_db = DB::getInstance();
}

public function create($fields){
 if(!$this->_db->insert('users', $fields)){
     throw new Exception('Problem creating an account');
 }
}

public function login($username = '', $password = ''){

$db_obj = $this->_db->query("SELECT * FROM users WHERE email = ? AND password = ?", $fields = array(
    $username,
    $password
));

    if($db_obj->count()==1 && !$db_obj->error()){
        $got_pass = $db_obj->first();
        $gotpass = $got_pass["password"];
        $id = $got_pass["id"];
        if($gotpass === $password){
        Session::put(Config::get("session/session_id"), $id);    Session::put(Config::get("session/session_name"), $username);
            return true;
        }
        else{
         return false;   
        }
    }
    else{
     return false;   
    }


}

public function login_admin($username = '', $password = ''){

$db_obj = $this->_db->query("SELECT * FROM admin WHERE username = ? AND password = ?", $fields = array(
    $username,
    $password
));

    if($db_obj->count()==1 && !$db_obj->error()){
        $got_pass = $db_obj->first();
        $gotpass = $got_pass["password"];
        $id = $got_pass["id"];
        if($gotpass === $password){
        Session::put(Config::get("session/admin_id"), $id);    Session::put(Config::get("session/admin_name"), $username);
            return true;
        }
        else{
         return false;   
        }
    }
   else{
     return false;   
    }


}

public static function sanitize($string){
    return mysql_real_escape_string(strip_tags($string));
}

public static function logout(){

             Session::delete(Config::get('session/admin_name'));   


             Session::delete(Config::get('session/admin_id'));   
    Session::delete(Config::get('session/session_name'));
    Session::delete(Config::get('session/session_id'));
    Redirect::to("index.php");




}


  }

我交叉检查PDO连接当我运行test.php时它工作正常

test.php的

  <?php
  require_once 'php/core/init.php';

  $db = DB::getInstance();
  $inst = $db->get('users', array('1','=', '1'));
   $results = $inst->results();
   foreach($results as $result){
   print_r($result);
     }

   ?>

$ user-&gt; admin($ username,$ password)始终在admin_login.php中返回false 任何帮助都会非常明显。谢谢。

0 个答案:

没有答案
相关问题