昨日、スクリプトは問題なく機能しました。正しい情報を入力するとリダイレクトされますが、そうでない場合は次のエラーが発生します。
注意:未定義の変数:26行目のC:\ xampp \ htdocs \ webshop \ resources \ library\login.class.phpの状態
致命的なエラー:26行目のC:\ xampp \ htdocs \ webshop \ resources \ library \ login.class.phpにある非オブジェクトのメンバー関数rowCount()を呼び出す
<?php
require_once('../resources/config.php');
class user
{
private $db;
public function __construct()
{
$this->db = new config();
$this->db = $this->db->dbConnect();
}
public function login($name, $pass)
{
if(!empty($name) && !empty($pass))
{
//parameter query to prevent sql injection
$state = $this->db->prepare("select * from users where name=? and pass=?");
$state->bindParam(1, $name);
$state->bindParam(2, $pass);
$state->execute();
}
if($state->rowCount() == 1)
{
header('location: index?page=basket.php');
echo "you have been loged in as <b>$dbuser</b>";
}else{
echo "incorrect user";
}
}
}
?>
利用方法
<?php
require_once('../resources/library/login.class.php');
if(isset($_POST['submit']))
{
$name = $_POST['user'];
$pass = $_POST['pass'];
$obj_login = new user();
$obj_login->login($name, $pass);
}
?>
<form method="post" action="index.php?page=login.php">
username: <input type="text" name="user"/>
password: <input type="text" name="pass"/>
<input type="submit" name="submit" value="Login"/>
</form>
誰かが私を案内してくれませんか?