2009-10-28 165 views
0

HI,PHP会话帮助

当我尝试使用下面的代码在IE中它的一些原因只是循环和环路和环路,不会停止注销。

<?php $_SESSION = array(); session_destroy(); ?> 

<meta http-equiv="refresh" content="0;index.php"> 

仍然收到一些错误与此。

看来,在IE中它不断刷新每一秒,如果我改变0至20的每20秒,但事情是它不会到index.php它说当前的屏幕是logout.php

+2

好吧,假设这是index.php文件,这就是你告诉它该怎么做。什么文件这是什么? – 2009-10-28 13:34:08

+0

这个文件叫做logout.php – 2009-10-28 13:35:35

+0

好的。你能看到它在哪里循环到吗?可能是index.php反过来调用logout.php? – 2009-10-28 13:40:14

回答

5

注意到你似乎没有在任何地方的页面中调用session_start()。如果不先开始会话,则无法销毁会话。

+0

+1:与功能名称相反,这很可能是问题。 (它应该被命名为'session_init()') – Powerlord 2009-10-28 13:45:46

+0

'_start'和'_init'之间没有太大区别......我也没有发现'session_start'是一个不直观的名字。 – 2009-10-28 15:22:52

0

将您的内容=“0”更改为20.请尝试查看源代码以确保您的网页未显示此元标记,如果不是,请修复此错误,如果不是,则为其他内容。

4

而不是使用一个元刷新的,为什么不引导他们回到index.php文件与header

<?php 
    $_SESSION = array(); 
    session_destroy(); 
    header('Location: index.php'); 
?> 
+0

我总是在'header()'调用后添加'exit',即使它是代码的结尾,以防某些人稍后扩展它并发现问题。 – 2009-10-28 15:21:26

+0

同意,谢谢指出。一些机器人(即:Googlebot)不会跟随标题。我听说Googlebot会删除记录,因为人们将它们排除在外。 – Psilokan 2009-10-28 16:01:17