2013-05-09 27 views
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']; 

?> 

的問題是,當我呼應看看它是否被設置,echo實際上不會返回任何東西,所以我不知道發生了什麼,因爲我知道變量正在設置在另一個文件login.php中。任何幫助可能會很好。我是一個帶有會話和會話變量的完整初學者。

+1

奇怪......在您分配它後立即執行'var_dump($ userID ['msgID'])'或'var_dump($ _ SESSION ['user'])'。 – michi 2013-05-09 21:35:13

+0

是的,會話看起來沒問題,msgID裏面有什麼? – 2013-05-09 21:36:15

+0

你是否在同一個域上工作......你是否正在嘗試爲php header()更改window.location? – Hackerman 2013-05-09 21:36:55

回答

-1

使用var_dump($_SESSION['user'])而不是回聲$_SESSION['user']獲得更好的詳細輸出。

+0

是剛纔現在嘗試使用var_dump()而不是回聲,我仍然沒有什麼要輸出在頁面上,看看它是否抓住在login.php腳本中設置的會話變量 – RenegadeScar 2013-05-09 21:41:33

1

您正在連接中localhost,但你header redirectheader('Location: http://potholio.csproject.org/map.html'); 看來你是從不同的遠程主機重定向到map.html,所以你怎麼能指望它讓你的本地主機會話?

+0

我看到,所以,而不是重定向到http://potholio.csproject.org/map.html,我應該重定向到http://localhost/map.html? – RenegadeScar 2013-05-09 23:17:56

+0

是的,當然你應該去你當地的 – Amir 2013-05-10 06:33:20

0

好吧,我只是想出了我的問題。我發現所有的代碼都是正確的,除了我重定向頁面的方式之外,沒有任何問題。

謝謝@羅伯特羅扎斯。

我的問題其實是一個非常愚蠢和容易的修復,我看了。我的map.html文件中的PHP腳本從未被執行,因爲它是一個HTML文件而不是PHP文件。一旦我意識到這一點,並重命名文件,所以它有一個.php文件擴展名一切運行正常。對不起,我應該看到那些麻煩傢伙。

+1

的map.html,如果你在.htaccess文件「AddType application/x-httpd-php .html」中添加以下代碼,你可以使用map.html來運行php代碼。這段代碼會告訴web服務器將html作爲php文件處理。 – soachishti 2013-05-10 11:38:58

相關問題