2016-04-12 79 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,请参阅示例后面的注释。否则,你的使用是正确的。