必须登录两次。 PHP会话和登录的烦恼与Chrome和Opera

我遇到的问题是,我的登录表单我需要登录两次会议,以正确注册,但只有在浏览器(我的版本是4.0.249.89)和Opera(我的版本是10.10)。

下面是我测试上剥离下来的代码:

登录页面:

在session_start();

$_SESSION['user_id'] = 8; $_SESSION['user_name'] = 'Jim'; session_write_close(); header('Location: http://www.my-domain-name.com/'); exit();

主页:

session_start();

if ( isset($_SESSION['user_id']) ) {
echo "You are logged in!";
} else {
echo "You are NOT logged in!";
}

注销页面:

session_start(); session_unset(); session_destroy(); header('Location: http://www.my-domain-name.com/'); exit();

目前,一个新的负载,没有饼干下,如果我去my-domain-name.com/login/~~V就会重定向到主页,并说:“你还没有登录!” 但如果我去那里了它会说:“你已经登录!”。 有任何想法吗?

感谢您的帮助。

--------------解决方案-------------

尝试添加一个sleep(2);发出重定向报头的前面; 这会告诉你是否它实际上是在你的代码中的错误的地方,或者如果会话数据只是没有被写入到文件速度不够快。

我得到了同样的问题是这样的。 我只是简单地删除了www。 在标题部分。

然后,它的工作对我罚款。 这将是这样的:标题(“位置:http://my-domain-name.com/');

代码,例如,呈现,似乎它会导致无限重定向循环与主页主叫在session_start(),设置cookie,并且指示浏览器加载主页。 有一些逻辑从这里给出的代码缺失?

分类:php 时间:2012-01-01 人气:0
本文关键词: PHP,头,重定向会话
分享到:

相关文章

  • 我怎样才能得到会话变量在整个头重定向坚持? 2014-04-25

    我怎样才能得到会话变量在整个头重定向坚持? 我的头重定向看起来像这样: header("Location:./content/user_dash.php"); 我曾经session_start();在每一页的顶部. 我在我的头重定向曾经使用过session_regenerate_id(true); 我在我的头前,曾尝试和session_regenerate_id后重定向session_write_close(); 我已经试过exit(0);和die();我的头重定向后; 我曾尝试hea

  • 使用输出缓冲 - - 发布表单时,PHP头重定向没有工作,但不会在其他情况下? 2012-03-20

    我有一个不寻常的问题,只是发生在一个服务器上. 下面的代码 .... elseif ($_GET['action']=='login') { if (empty($_POST['login_name'])) { $_POST['login_name']=''; } if (empty($_POST['login_pass'])) { $_POST['login_pass']=''; } if (!empty($_POST['send'])) { if (($_POST['login_name']

  • 用头重定向传递选择POST数据 2012-06-24

    确定这样的背景:我有一个表格,用户输入自己的数据,我把它预览他们,他们检查,批准它,然后我有一个脚本,将其插入到数据库中等待批准. 我想/问题想要得到的,当插入已成功地显示在页面上,如果访问者点击刷新,数据将重新发布到数据库,生成一个新的唯一ID了. 我发现我可以使用 if($result){ header("Location: whateverpage.php"); 要重定向他们是否有插入成功,并从刷新问题了,但是... 在我进程的下一个阶段是/是的,我让他们点击一个按钮来进行Pay

  • PHP / Apache的 - 怎么看剧本警告头重定向过吗? 2012-01-19

    我用了很多头重定向,但因为我错过了一些PHP的警告就不会显示由于重定向. 有一些PHP / Apache的配置选项,将停止头,如果发出任何警告重定向? 其实我想任何警告,我的开发机上停止脚本执行(如错误做),但要在其他服务器上看不见的 - 因此,这意味着一些配置设置,不改变脚本. 那可能吗? 我使用的Apache 2.2和PHP 5.2 所有的警告我的开发服务器上显示正常,但是当他们后跟一个头重定向,我看不到他们. 例: <?php error_reporting(E_ALL | E_STRIC

  • PHP可能头重定向漏洞? 2012-03-17

    我想有一天,如果有人在保护自己的网页是这样的: if(!$logged_in) { header("Location:http://mysite/login.php"); } // protected content here 有没有办法忽略HTTP头重定向在浏览器级别,然后显示它后面的受保护的内容? --------------解决方案------------- 是的,因为使用header()函数仅设置一个首部. 服务器将继续运行PHP脚本的其余部分,使受保护的内容 你想这样做,而不

  • 将HTML5视频源URL遵循头重定向? 2013-04-03

    现在我仍在使用闪存作为主要的球员,有一个HTML5回退,因为它仍然越野车尤其是当它涉及到的代码. 但我的问题是,如果我有一个HTML5视频源video标签,并且源实际上是提供了一个文件(使用正确的内容类型头等等,当然)与发放给真正的视频源的头重定向,会不会有什么问题接着就,随即? 我无法找到任何文件. --------------解决方案------------- 在HTML5中,通过规范的,大概每一个资源-包括资源使用的元素时,下载<script> <iframe> <ob

  • Nginx的:用PHP发送Location头重定向withoung改变域 2014-07-03

    我在这里有一个奇怪的问题,想不通的原因. 我有触发重定向到同一服务器上的不同(子)域中的nginx的服务器上的PHP脚本: 例如:foo.domain.com/redirect.php标题("状态:301"); 标题("位置:http://www.domain.com/new_url/"); 其结果是,我越来越重定向到:foo.domain.com/new_url 该域名不改变所有,虽然我的响应头已经很好了. 有任何想法吗? --------------解决方案--

  • PHP - 头重定向与MSIE#符 2014-12-21

    当一个表单上传后,用头重定向(),如果在#重定向,它MSIE消失,但在其他浏览器正常工作. 我做了以下简单的脚本为例: <?php if (isset($_REQUEST["description"])) { $location = "http://localhost/#someanchor"; header("Location: $location"); exit; } ?> <!DOCTYPE html PUBLIC &qu

  • 头重定向和会话启动()产生的错误 2013-03-23

    这个问题已经有了答案在这里: 如何解决"头已经发出"错误在PHP 10回答 我使用下面的代码. 我得到的错误: 警告:不能更改头信息 - 头已经发出(输出开始/home/public_html/mc/cpanel/Source/verifylogin.php:11) 警告:在session_start()[function.session启动]:无法发送会话cookie - 头已经发出(输出开始/home/public_html/mv/cpanel/Source/verifylogin

  • 在表单操作使用PHP_SELF关于头重定向PHP会话变量丢失 2013-08-16

    我有一个多步骤的形式,让我们说为了便于为了它的2个步骤. 第一步我要选择一个单选按钮,并在此基础上带我到某个页面的单选按钮选择,但我也想存储在一个会话的选择. 我有2页:page1.php中 session_start(); if(isset($_POST['post'])) { if (($_POST['country'] == 'US')) { header("Location: US_Products.php"); } elseif (($_POST['country'] ==

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.481 (s). 10 q(s)