0

最初にconfigクラス、2番目がユーザークラス、3番目がインデックスファイルの場合、3つのファイルがあります。

config.php

class connection{    

    public function dbConnect()
    {         
       new PDO("mysql:host=localhost:3306;dbname=education","root","");
    }
}

user.php

<?php
session_start();
require_once '../cms/config.php';

class user{
    private $db;

    public function __construct()
    {
        $this->db= new connection();
        $this->db=  $this->db->dbConnect();
        return $this->db;
    }

    public function login($user,$pass)
    {
        //creating a array for future usage

        if(!empty($user) && !empty($pass))
        {                
           $st=$this->db->prepare("select * from admin where admin_user=? AND admin_pass=?");
           $st->bindParam(1,$user);
           $st->bindParam(2,$pass);
           $st->execute();
           if($st->rowCount()==1)
           {
             $_SESSION['admin_user']=$user;
             header("Location:admin.php");
           }
           else
           {
               $_SESSION['errorMessage']="Incorrect username or password!Please try again.";
               echo $_SESSION['errorMessage'];
           }               
        }
        else
        {
             echo "Hey! Don't leave me empty";                
        }
    }
}
?>

index.php

require_once '../cms/user.php';

if(isset($_POST['submit']))
{    
    $user=$_POST['user'];
    $user=  mysql_real_escape_string($user);
    $pass=$_POST['pass'];
    $pass=  mysql_real_escape_string($pass);

    $object=new user();

    $object->login($user,$pass);
}

誤ったデータまたは正しいデータでログインしようとすると、致命的なエラーがスローされます。昨日も作業ファイルでした。しかし、今日何が起こったのか。これは迷惑です。助けてください。

4

1 に答える 1

0

pdo インスタンスを返す必要があります。

class connection{    

    public function dbConnect()
    {    
         // here, you need to return it     
         return new PDO("mysql:host=localhost:3306;dbname=education","root","");
    }
}
于 2012-10-20T05:55:58.013 に答える