我正在尝试用php编写这个简单的类,如下所示:
<?php
session_start();
require 'db_con.php';
class logg{
private $db;
private $username = $_POST['usr_name'];
private $password = $_POST['usr_pass'];
private $query = "SELECT * FROM user WHERE nick='$username'";
function __construct(){
$this->db = new DB();
}
function loggIn(){
try{
$res = $this->db->fetch($query)
foreach($res as $row) {
$dbusername = $row['nick'];
$dbpassword = $row['pass']; }
if ($username == $dbusername && $password == $dbpassword) {
$_SESSION['username'] = $dbusername;
header('Location: index.php');
} catch (Exception $e){
echo'Wrong login information!'
}
}
}
function loggOut(){
session_destroy();
}
}
?>
但我一直收到以下错误:解析错误:语法错误,意外的'$_POST‘(T_VARIABLE),我就是找不出原因!即使我删除了这些行:
private $username = $_POST['usr_name'];
private $password = $_POST['usr_pass'];
相反,我得到了以下错误:
( ! ) Parse error: syntax error, unexpected '"' in
我确信这是一个非常简单的错误,但我就是想不出来。。!任何有用的帮助!
发布于 2014-02-17 23:59:11
除了echo
行上的语法错误之外,导致此特定错误的实际问题是,您只能使用常量来初始化类成员。
由于常量从不以$
开头,因此初始化时会出现语法错误。
你必须在类的构造函数中给这些成员赋值,而不是,就像你对$db
所做的那样。
发布于 2014-02-17 23:47:28
这里缺少一个分号:
echo'Wrong login information!' // <-- HERE
https://stackoverflow.com/questions/21841603
复制