我已经尝试过寻找有关我正在尝试做的事情的信息,但结果不是我需要完成的事情。我很确定我的问题有一个答案,但我不知道如何用正确的措辞来搜索它。无论如何我要做的是:在这里我创建了一个会话变量
<?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'];
?>
问题在于当我回显看它是否被设置时,回声实际上并没有返回任何东西,所以我不确定是什么,因为我知道变量是在另一个文件中设置的,是login.php。任何帮助都可能会很棒。我是Sessions和Session变量的完全初学者。
答案 0 :(得分:1)
您正在使用localhost
进行连接,但header redirect
为header('Location: http://potholio.csproject.org/map.html');
您似乎从另一个远程主机重定向到map.html
,那么您认为它如何保持您的localhost会话?
答案 1 :(得分:0)
好的,我只知道我的问题是什么。我发现我所拥有的所有代码确实是正确的,除了我如何重定向页面之外,我没有任何问题。
谢谢@Robert Rozas。
我的问题实际上是一个非常愚蠢而且容易解决的问题。我的map.html文件上的PHP脚本从未被执行过,因为它是一个HTML文件而不是PHP文件。一旦我意识到并重命名了文件,所以它有一个.php文件扩展名,所有内容都正确运行。对不起麻烦的家伙们,我应该已经看到了。
答案 2 :(得分:-1)
使用var_dump($_SESSION['user'])
代替echo $_SESSION['user']
以获得更好的详细输出。