0
这是一个类中的功能和它的作品分裂一个类中的功能
public function login($username,$password){
$hashed = $this->get_user_hash($username);
try {
$stmt = $this->_db->prepare('SELECT username FROM members WHERE password = :password AND active="Yes" ');
$stmt->execute(array('password' => $hashed));
$row = $stmt->fetch();
$_SESSION["uname"] = $row['username'];
}
catch(PDOException $e) {
echo '<p class="bg-danger">'.$e->getMessage().'</p>';
}
if($this->password_verify($password,$hashed) == 1){
$_SESSION['loggedin'] = true;
return true;
}
}
现在,我想上面的代码分离成两个功能
public function login($username,$password){
$hashed = $this->get_user_hash($username);
if($this->password_verify($password,$hashed) == 1){
$_SESSION['loggedin'] = true; // this works
return true;
}
}
上面的代码也适用,但在波纹管部分我无法得到的值$_SESSION["uname"]
public function get_uname(){
$hashed = $this->get_user_hash($username);
try {
$stmt = $this->_db->prepare('SELECT username FROM members WHERE password = :password AND active="Yes" ');
$stmt->execute(array('password' => $hashed));
$row = $stmt->fetch();
$_SESSION["uname"] = $row['username']; // this doesn't work
}
catch(PDOException $e) {
echo '<p class="bg-danger">'.$e->getMessage().'</p>';
}
}
这些函数在哪里调用? –
嗨,你的意思是你无法获得$ row ['username']的价值。 – vbrmnd
session_start();开始了吗? –