PHP MVC会话

PHP MVC会话,php,model-view-controller,session,Php,Model View Controller,Session,我试图在MVC模型中使用$\u session变量来获取登录用户的分数和姓名,然后通过数组将其发送到视图 这是我的游戏模型。如何从视图中获取会话变量?当用户提交loginform时,页面转到login.php,检查用户是否存在,如果存在,则启动会话:$\u session['username']=$\u POST[“username”];如果我在mySQL查询中将用户名设置为“test”,它就会工作 public function game() { include 'connect.ph

我试图在MVC模型中使用$\u session变量来获取登录用户的分数和姓名,然后通过数组将其发送到视图


这是我的游戏模型。如何从视图中获取会话变量?当用户提交loginform时,页面转到login.php,检查用户是否存在,如果存在,则启动会话:$\u session['username']=$\u POST[“username”];如果我在mySQL查询中将用户名设置为“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;
}

您应该将它作为参数从控制器传递给函数

public function game( $username )

就目前情况而言,您对SQL注入非常开放,如果您还没有进行过SQL注入,您将受到黑客攻击。学习使用PDO进行准备好的查询,以完全避免这个问题。“我如何从视图中获取会话变量”——你不应该这样做。视图不应了解任何数据storages@Brad:嗯,这要看情况而定。在注册过程中有可能验证用户名,因此没有恶意,所以我应该将Login.php作为一个视图,并将其绑定到一个模型,而不仅仅是plain.php?然后如何将会话变量传递给模型类中的其他函数?@zerkms在他的问题中特别指出,他设置了
$\u session['username']=$\u POST[“username”]