如何在php $ _SESSION中存储多个单词?

时间:2015-12-04 15:44:42

标签: php variables session

这里有点新手,希望有人可以帮助我?

我想要做的就是在$ _SESSION中存储多个单词。我已经完成了MySQL查询以从数据库中检索成员名称,这将返回"布朗先生"。然后我将$ memberName存储在这样的会话中:

$_SESSION['MemberName'] = $memberName;

如果我直接回声,它确实给了我"布朗先生"。 但是,如果我重定向到另一个页面(标题('位置:../ memberIndex.php');)它不会被存储!如果$ memberName是一个像" Bob"这样的单词,那么它可以正常工作,但只要其中有空格,它就不会转移。其他变量存储好,因为有ID号等,它只是这一个?有人可以帮忙吗?我已经搜索了很长时间,我看不到任何可以让我将两个或更多单词放入$ _SESSION变量的内容?!? ...帮助!

<?
session_start(); 

$HTTP_POST_VARS["submit"]; 
$Username = $_POST['username']; 
$Password = $_POST['password']; 

$query = "SELECT * FROM MemberLogin WHERE username = '$Username' AND password = '$Password'"; 

$result = mysql_query($query);

while ($row = mysql_fetch_array($result)) 
{ 
   extract($row); 
   $_SESSION['MemberID'] = $id;
   $_SESSION['MemberName'] = $memberName;

   //echo $_SESSION['MemberName'];

   header( 'Location: ../memberIndex.php' ) ; 
}

好的,有点更新。我刚试过另一个剧本:

<?
session_start();

$_SESSION['MemberName'] = "Matt Brown";

//echo $_SESSION['MemberName'];

header( 'Location: testSession2.php' ) ;

?>

当它转移到testSession2.php时,它可以工作! 那么差异是什么?我哪里出错了?如果我用&#34; Matt Brown&#34;分配_SESSION,那就ok了。但是如果我分配了_SESSION和$ memberName,那就是&#34; Matt Brown&#34;在它里面,它没有?!?哦,我很困惑!

1 个答案:

答案 0 :(得分:0)

尝试用双引号包装$ memberName。不确定这是否会奏效。

此外,使用PDO而不是mysql扩展 - 它更安全:http://code.tutsplus.com/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net-12059