我有一个类似的问题,如果不是这个线程中的问题相同: 只在谷歌Chrome和URL重写中随机丢失会话变量
但是该线程中的所有解决方案对我都不起作用.我在我的PHP/MySQL应用程序中只从Google Chrome中获得了一个奇怪的行为.如果我尝试使用Firefox,它可以运行,但Chrome不会.
我导航到购物车中的某个地方,代码中的几个地方我将存储会话数据.不要担心我开始会议或与此相关的任何事情,我已经在webapp开发工作了11年,一切都很好.
在所有浏览器中,我都可以var_dump($_SESSION)恢复我的数据,但在Chrome中,它不会保留数据.另请注意,会话确实已经传递,我可以查看网络监视器,我看到正在发送的cookie以及与会话工作相关的许多其他事情但是$_SESSION['last_viewed_element']没有保留.我似乎也无法设置任何其他东西,所有人都迷失了.
编辑:
从SESSIONS切换到COOKIES解决了问题...
这可能与仅在 Chrome 中丢失的会话数据相同,并且与仅在 Google Chrome 和 URL 重写中随机丢失会话变量有关
那里没有适合我的解决方案,我希望有人对此有一些新的投入。
这些是我遵循的步骤:
我初始化了一个会话(不是 cookie),<?php session_start();?>然后稍后在同一个 php 文件中设置变量$_SESSION['nu'] = $userName;
然后我重定向到一个新的 php window.location.href = "foo.php"。该 php 文件启动会话(第一件事,同上),然后使用 $_SESSION['nu']。到目前为止,所有浏览器都可以正常工作。
在 Chrome (31.0.1650.26 beta) 上的第二个 php 页面(第 2 步中的页面)上:
在 Safari(5.1.9 和 5.1.7)和 Firefox(24.0 和 18.0)上,我可以重新加载并转到另一个页面,设置了 $_SESSION['nu'] 并且一切正常。
当我在我的家庭环境 (MAMP 1.9.6) 上测试它时,它在 Chrome 上也能正常工作。
在 php.ini 文件(家庭和在线)中 session.use_only_cookies 是 On(本地和主)。
由于我可以通过 AJAX 访问它(不更改页面),因此在转到新页面时 Chrome 的会话似乎有问题。但是为什么它在第一次起作用呢?我确实换页... …
我创建了名为error.php的自定义404错误页面,现在我想在用户输入的url.like这个链接中显示error.php内容:http://www.youtube.com/asdfasfsd
这是我的htaccess代码:
ErrorDocument 404 https ://localhost/path/error.php
Run Code Online (Sandbox Code Playgroud)
我想在同一个URL中显示error.php内容而不重定向到error.php页面
如果用户键入了无效的URL(例如:https://localhost/path/nnn.php)
当前结果:重定向到error.php
预期结果:在https://localhost/path/nnn.php中显示error.php内容
我的完整htaccess代码:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteRule index.html$ index.php [L]
RewriteRule service.html$ service.php [L]
RewriteRule ^([^/]*)\.html$ about.php?pid=$1 [L]
RewriteRule ^cont/([^/]*)\.html$ contact-inner.php?tid=$1 [L]
RewriteRule ^contact/([^/]*)/([^/]*)\.html$ contact-page.php?tid=$1&ona=$2 [L]
RewriteRule ^about/([^/]*)\.html$ about-inner.php?oid=$1 [L]
RewriteRule ^service/([^/]*)/([^/]*)\.html$ service-page.php?oid=$1&ona=$2 [L]
ErrorDocument 404 https://localhost/ezhil/path/public_html/error.php
<Files 403.shtml>
order allow,deny
allow from all
</Files>
deny from 117.202.102.84
deny from 58.68.25.210
deny from 91.200.13.112
deny from 86.128.130.170
deny …Run Code Online (Sandbox Code Playgroud)