Php 如何在函数中设置会话,以便在任何地方使用此会话?这不是';行不通
我在函数中遇到了会话问题 如何设置$_会话['idUser']=$result['idUser'];到一个会话,我可以将其用于即将到来的活动Php 如何在函数中设置会话,以便在任何地方使用此会话?这不是';行不通,php,function,class,session,Php,Function,Class,Session,我在函数中遇到了会话问题 如何设置$_会话['idUser']=$result['idUser'];到一个会话,我可以将其用于即将到来的活动 <?php // Session starts session_start(); class DB_Functions { public function getUserByEmailAndPassword($email, $password) { $result = mysql
<?php
// Session starts
session_start();
class DB_Functions {
public function getUserByEmailAndPassword($email, $password) {
$result = mysql_query("SELECT * FROM User WHERE emailadress = '" . $email . "'") or die(mysql_error());
// check for result
$no_of_rows = mysql_num_rows($result);
if ($no_of_rows > 0) {
$result = mysql_fetch_array($result);
//This is the session I want to use
$_SESSION['idUser'] = $result['idUser'];
return $result;
假设这只是一个更大类的片段,我看不出这行的原因:
$_SESSION['idUser'] = $result['idUser'];
不起作用(再次假设$result['idUser']包含一个值)。确保您有session_start()在所有要使用全局会话变量的页面上调用code>。删除之前的空格。我建议首先使用以下选项:
我极力推荐
就像你想要的,你可以在任何地方使用它
它将阻止您使用超级全局变量,如$\u会话(不容易调试)
使您的代码更易于测试,这样您就不必手动管理会话了
示例代码:
use Symfony\Component\HttpFoundation\Session\Session;
$session = new Session();
$session->start();
// set and get session attributes
$session->set('name', $result['id_user']);
$session->get('name'); //Easy to get 'id_user' in another page.
//Other examples:
// set flash messages (appears only once, for warnings/alerts)
$session->getFlashBag()->add('notice', 'Profile updated');
// retrieve messages
foreach ($session->getFlashBag()->get('notice', array()) as $message)
{
echo '<div class="flash-notice">'.$message.'</div>';
}
使用Symfony\Component\HttpFoundation\Session\Session;
$session=新会话();
$session->start();
//设置并获取会话属性
$session->set('name',$result['id\u user']);
$session->get('name')//在另一个页面中轻松获取“id\U用户”。
//其他例子:
//设置闪烁消息(仅显示一次,用于警告/警报)
$session->getFlashBag()->添加('notice','Profile updated');
//检索消息
foreach($session->getFlashBag()->get('notice',array())作为$message)
{
回显“.$message.”;
}
如果您喜欢这里的链接:
警告
在使用之前,请确保您的PHP会话尚未启动
课时课。如果您有一个旧式会话系统启动您的
会话,请参阅
您的代码不完整。它显示了一个函数和一个类,它没有被括号括起来。此外,您没有调用该函数,因此代码不会被执行。您是否尝试转储$\u会话数据中的内容<代码>回显“”代码>返回代码>`我要试试这个!谢谢你的转发!