2012-05-15 83 views
0

我試圖在MVC模型中使用$ _session變量來獲取登錄用戶的分數和名稱,然後通過數組將其發送到視圖。PHP MVC會話

這是我的遊戲模型。我如何從視圖中獲取SESSION變量?當用戶提交登錄表單時,頁面轉到login.php,它檢查用戶是否存在,如果是,則啓動一個會話:$ _SESSION ['username'] = $ _ POST [「username」];如果我在mySQL queryt中將用戶名設置爲「test」,它就會起作用。

public function game() 
{ 
    include 'connect.php'; 

    //$query = "SELECT * FROM users WHERE USERNAME='"$this->$_SESSION["username"]."'";  
    $query = "SELECT * FROM users WHERE USERNAME='test'"; 

    $result = mysql_query($query) or die (mysql_error()); 
    $score = mysql_fetch_array($result) or die(mysql_error()); 

    $user = $score['username']; 
    $s1 = $score['score1']; 
    $s2 = $score['score2']; 
    $s3 = $score['score3']; 

    //store values to array for view to see, extract() array so views can use 
    them as variables 
    $game_model = array('user' => $user, 's1' => $s1, 's2' => $s2, 's3' => $s3); 
    return game $model; 
} 
+0

就像現在這樣,你是**開放**到SQL注入,你**將被黑客攻擊**如果你還沒有。學習使用PDO執行準備好的查詢以完全避免此問題。 – Brad

+2

「我如何從視圖中獲得SESSION變量」---你不應該這樣做。查看應該對任何數據存儲都不知道 – zerkms

+0

@Brad:好的,這取決於。有一個機會的用戶名在註冊過程驗證,因此沒有惡意 – zerkms

回答

0

您應該從控制器作爲參數傳遞給函數。

public function game($username)