2016-04-12 55 views
0

如何在同一網站的多個頁面之間使用$_SESSION[]數組元素?何時/如何摧毀它們? 錯誤:

Variable undefined..

如果您有更好的建議,請幫助我。

代碼在同一個目錄

<?php 
if(isset($_SESSION['name'])) 
{ 
    echo "Hi $_SESSION['name'].\n"; 
    echo "You have been logged in."; 
} 
?> 
+0

你忘了session_start();在你的第二個php文件的開始。 – SamyQc

+0

感謝大家的迴應:) –

回答

0

在php中,最好把session_start()放在的第一條語句的一行php頁面中。在計劃使用任何$ _SESSION變量之前,在頁面頂部使用它一次。

<?php 
session_start(); 

要在會議obtenir值:

$username = $_SESSION['username']; 
$password = $_SESSION['password']; 

要在會話中刪除值:

unset($_SESSION['temp']); 

要銷燬會話:

session_destroy(); 

希望這能有幫助。

+0

還值得注意的是,您可以設置會話自動通過[session.auto_start]啓動(http://php.net/manual/en/session.configuration.php#ini.session 。自動啓動) –

1

action.php

<?php 
include 'someheader.php'; 
session_start(); 
if(isset($_POST['submit']) 
{ 
    $_SESSION['name']=$_POST['name']; 

    //Some Codes Here 

} 
include 'footer.php'; 
?> 

其他PHP文件中的每個PHP文件必須有一個session_start()能夠訪問會話變量。至於如何銷燬它們,請檢查session_destroy函數。何時摧毀他們?基本上,當你不再需要它時,你就可以做到這一點,例如當你註銷時。

0

您應該以此爲第一線的每個文件的使用$_SESSION

session_start(); 

這使得在當前的腳本可用。以下是basics,請參閱示例後面的註釋。否則,你的使用是正確的。