会话数据未通过(php)

时间:2012-03-20 15:59:35

标签: php

我在我的登录页面之后创建了一个会话,并希望重定向到我之前创建的会话的安全页面..但我的会话数据没有通过..我可能知道wat是问题..

php session:

    $em = $_POST['email'];
$pw = $_POST['password'];
$em = mysql_real_escape_string($em);
$pw = mysql_real_escape_string($pw);
$query = "SELECT * FROM Register WHERE email = '$em' AND pass = '$pw'";

$result = mysql_query($query) or die("Unable to verify user because : " . mysql_error());  

if (mysql_num_rows($result) > 0) {

session_start();
// store session data
$_SESSION['login']=$em;

//echo 'Connected';
// Jump to secured page
echo "<script>window.location='http://example.com/secure.php'</script>";
}

我重定向到的页面:

   <?php session_start(); $_SESSION['login']; ?>
   <p>Welcome 
   <?php
   //retrieve session data
   echo $_SESSION['login'];
   ?> 
   to M-Cloud</b>

2 个答案:

答案 0 :(得分:3)

首先

确保session_start位于页面顶部。这是最好的做法。

确保在设置SESSION时$ em有一个值。

检查您使用的网络托管是否支持SESSIONS。

在第二页的顶部,您不需要$ _SESSION ['login'];位

测试$ em肯定有值。在该页面上回顾它以进行检查。

如果这不起作用,请粘贴更多代码,以便我们找到问题。

答案 1 :(得分:0)

您可以删除第二页上的第一个$_SESSION['login'];,然后使用$_SESSION显示整个print_r($_SESSION);数组,以查看该值是否正确。