0

我已经尝试寻找有关我正在尝试做的事情的信息,但结果并不是我需要完成的。我很确定我的问题有一个答案,但我不知道如何用正确的措辞搜索它。无论如何我要做的是:在这里我创建了一个会话变量

<?php
// Session started
session_start();


// Connecting to the database
$host = "localhost";
$username = "username";
$password = "password";
$db_name = "potholio";
$tbl_name = "userTbl";

$conn = mysql_connect( $host, $username, $password );
if (! $conn )
{
    die('Could not connect: ' . mysql_error());
}

mysql_select_db( $db_name );

// Submitting query and retrieving result)
$myusername = $_GET['myusername'];
$mypassword = $_GET['mypassword'];

$sql = "SELECT * FROM $tbl_name WHERE usrName='". $myusername ."' and pwd='". $mypassword ."'";
$result = mysql_query( $sql );

// Checking results
$count = mysql_num_rows( $result );

// Directing user based on result
if ( $count == 1 )
{

现在下面是我实际设置稍后要访问的会话变量的位置。

    $userID = mysql_fetch_assoc( $result );
    $_SESSION['user'] = $userID['msgID'];

    header('Location: http://potholio.csproject.org/map.html');
}
else
{
    echo "<script>alert('Incorrect username or password');</script>";
    header('Location: http://potholio.csproject.org/');
}

// Close Database Connection
mysql_close();
?>

现在我正在尝试使用以下代码访问我在另一个名为 map.html 的文件中设置的会话变量:

<?php
// Initiate session 
session_start();

// Store session data
echo $_SESSION['user'];

?>

问题是,当我回显以查看它是否被设置时,回显实际上没有返回任何内容,所以我不确定发生了什么,因为我知道该变量正在另一个文件中设置,即登录。 php。对此的任何帮助可能都会很棒。我是 Sessions 和 Session 变量的完整初学者。

4

3 回答 3

1

您正在连接localhost,但是您 似乎是从不同的远程主机重定向到header redirect的,那么您希望它如何保持您的 localhost 会话?header('Location: http://potholio.csproject.org/map.html');map.html

于 2013-05-09T21:49:35.763 回答
0

好的,所以我才弄清楚我的问题是什么。我发现我拥有的所有代码确实是正确的,除了我如何重定向页面之外,我所拥有的没有任何问题。

谢谢@罗伯特·罗萨斯。

我的问题实际上是一个非常愚蠢且容易解决的问题,我看过了。我的 map.html 文件上的 PHP 脚本从未被执行,因为它是一个 HTML 文件而不是 PHP 文件。一旦我意识到这一点并重命名文件,使其具有 .php 文件扩展名,一切都运行正常。抱歉给大家添麻烦了,我应该看到的。

于 2013-05-09T23:39:56.280 回答
-1

使用var_dump($_SESSION['user'])代替 echo$_SESSION['user']以获得更好的详细输出。

于 2013-05-09T21:37:50.510 回答