1
嗨,我有一個問題,我仍然認爲自己在編碼方面很新穎,所以如果我愚蠢,請原諒我。試圖回顯值時出現未定義的索引錯誤,我正在使用類之外的函數
我現在在學校學習,我們有一個項目來構建craigslist的完整堆棧娛樂。任何我遇到的問題都與PHP有關。我創建了一個包含文本區域的帳戶頁面。我想回顯用戶的信息,以便用戶可以看到他所喜歡的內容並進行更新。由於我的導航欄被包含在每一頁上,我加入了代碼:
if(isset($_SESSION['logged_in_user'])){
var_dump($_SESSION['logged_in_user']);
$user = $_SESSION['logged_in_user'];
var_dump($user);
}
我的帳戶頁面上我想我可以重複它作爲佔位符內 <?= $attributes['first_name']?>
。不過,我不斷收到:
未定義指數:FIRST_NAME
還當我var_dump($user)
我得到一個受保護的屬性$陣列。
在我Auth
類是我第一次定義$user
這樣:
public static function attempt($attemptedUsername, $attemptedPassword) {
$user = User::findByUserName($attemptedUsername);
if ($user == null) {
return false;
}
$validPassword = password_verify($attemptedPassword,$user->password);
if ($validPassword == true) {
$_SESSION['logged_in_user'] = $user;
}
return false;
}
和我findByUserName
功能是在用戶類。代碼:
public static function findByUserName($user_name){
// Get connection to the database
self::dbConnect();
$stmt = self::$dbc->prepare('SELECT * FROM users WHERE user_name = :user_name');
$stmt->bindValue(':user_name', $user_name , PDO::PARAM_STR);
//execute gets its own line, t or false
$stmt->execute();
$result=$stmt->fetch(PDO::FETCH_ASSOC);
// @TODO: Create select statement using prepared statements
// @TODO: Store the result in a variable named $result
// The following code will set the attributes on the calling object based on the result variable's contents
$instance = null;
if ($result) {
$instance = new static($result);
}
return $instance;
}
更多代碼請?? –
如果數組受到保護,這意味着它將在最初聲明的類/方法之外無法訪問。是否在聲明的類/方法內回顯該值?另外,在腳本的頂部用'error_reporting(-1)'打開錯誤報告;' –
@SantoshRamKunjir我更新了我的問題,以便您可以看到更多我的代碼。我回應課堂以外的價值。 – bezotic