我试图在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
我确定错误是一个非常简单的错误,但我似乎无法弄明白......! 任何帮助appriciated!
答案 0 :(得分:2)
你在这里错过了一个分号:
echo'Wrong login information!' // <-- HERE
答案 1 :(得分:2)
除了echo
行的语法错误之外,导致此特定错误的实际问题是您只能使用常量
由于常量永远不会以$
开头,因此您的初始化会出现语法错误。
您必须分配给班级构造函数中的成员,而不是,就像您对$db
所做的那样。