PHP MVC会话
我试图在MVC模型中使用$\u session变量来获取登录用户的分数和姓名,然后通过数组将其发送到视图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
这是我的游戏模型。如何从视图中获取会话变量?当用户提交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”]代码>。