相关疑难解决方法(0)

已经启动的PHP会话

在我的PHP代码中,如果会话已经启动,并且我尝试启动一个新会话,我会收到以下通知:

注意:会话已经启动 - 忽略session_start()

我怎么能避免这个?

php session

75
推荐指数
4
解决办法
17万
查看次数

如何检查用户是否在php中登录?

我是php的新手,我正在试图弄清楚如何使用会话检查并查看用户是否登录到网站,以便他们有权访问特定页面.

这是一件复杂的事情,还是因为我是一个无法理解的菜鸟?

谢谢您的帮助!

php session login session-state

44
推荐指数
4
解决办法
17万
查看次数

如何判断会话是否有效?

根据请求,您可以通过几种不同的方式判断会话是否已启动,例如:

$isSessionActive = (session_id() != "");
Run Code Online (Sandbox Code Playgroud)

要么:

$isSessionActive = defined('SID');
Run Code Online (Sandbox Code Playgroud)

但是,如果你开始一个会话,然后关闭它们,它们都会失败; session_id()将返回先前会话的ID,同时SID将定义.同样,如果您已经激活会话,此时调用session_start()将生成一个E_NOTICE.是否有一种理智的方法来检查会话当前是否处于活动状态,而不必求助于输出缓冲,关闭运算符(@session_start())或其他类似hacky的东西?

编辑:我写了一个补丁试图让这个功能包含在PHP中:http://bugs.php.net/bug.php?id = 52982

编辑8/29/2011:添加到PHP 5.4的新功能修复此问题:"通过新函数,session_status公开会话状态"

// as of 8/29/2011
$isSessionActive = (session_status() == PHP_SESSION_ACTIVE);
Run Code Online (Sandbox Code Playgroud)

编辑12/5/11:PHP手册上的session_status().

php session

41
推荐指数
4
解决办法
7万
查看次数

警告:session_start():无法发送会话cookie - 已经发送的标头(输出开始于

登录页面中出现以下警告:它在localhost中工作,但在远程主机中不工作

警告: session_start()[function.session-start]:无法发送会话cookie - 已经发送的标头(输出从第8行开始)

警告: session_start()[function.session-start]:无法发送会话缓存限制器 - 已发送的标头(输出从第8行开始)

在此输入图像描述

的index.php

<?php
session_start();
if(isset($_SESSION['usr']) && isset($_SESSION['pswd'])){
header('Location: content.php');}
?>
<body>
<center>
<form method='post' action='login.php'>
<!– in this example I link it with login.php to check the password & username–>
<table>
<tr><td>Username:</td><td><input type='text' name='usr'></td></tr>
<tr><td>Password:</td><td><input type='password' name='pswd'></td>
</tr>
<tr><td><input type='submit' name='login' value='Login'></td>
<td><input type='reset' name='reset' value='Reset'></td></tr>
</table>
</form>
</center>
</body>  
Run Code Online (Sandbox Code Playgroud)

content.php

<body>
<a href="resumedownload.php">Click here to Download to Resume</a>
<?php
session_start();
if(!isset($_SESSION["usr"]) || !isset($_SESSION["pswd"])){
 header('Location: index.php');}
include 'logoff.php';
?>
</body> …
Run Code Online (Sandbox Code Playgroud)

html php mysql

28
推荐指数
2
解决办法
16万
查看次数

为什么这个PHP脚本(由AJAX调用)随机不能正确加载SESSION?

Ahoy StackOverflow,

我在我的项目中遇到过这个问题:简而言之,从我收集的内容来看,通过AJAX调用的PHP脚本没有正确地注册在index.php页面顶部设置的SESSION变量.起初,我认为这是由于会话锁定,所以我继续并添加session_write_close(),但没有解决问题.

此问题仅在新用户会话开始后的大约25%的时间内发生(即:用户登录时).

我继续删除了90%的代码,以便将错误降低到重现所需的最小编码.

Firebug通过ajax.php导致的错误结果

图片

Firebug通过ajax.php的预期结果

图像2

注:这两个结果表明指数的回报print_r($_SESSION)Array ( [userid] => 3724 [trialstatus] => 1 [trialtcompletions] => 0 [userlevel] => 5 ),它可以让我知道这个问题是不是与会话中的索引页面上设置.

有没有人知道一个修复(可能甚至不是代码,甚至可能是服务器设置),它将正确地允许通过AJAX调用的脚本正确访问Session变量?

测试复制方案

  1. 删除域的所有cookie
  2. 加载页面(最多2次).2次重新加载后永远不会发生问题.
  3. 如果未显示错误结果,请重复步骤.

的index.php

<?php

if (session_status() === PHP_SESSION_NONE) session_start();

if (!isset($_SESSION['userid']))
{
    $_SESSION['userid'] = 3724; //$login['AccountID'];
}

$_SESSION['trialstatus'] = "12";
$_SESSION['trialtcompletions'] = "12";
$_SESSION['userlevel'] = "12";
session_write_close();

print_r($_SESSION);
?>
<!DOCTYPE html><html><head><script src="./js/jquery.min.js"></script>
<script>
    function loadStage(step,input,callback){
        $.ajax({
            type: "POST",
            url: "./ajax.php",
            data: { step: …
Run Code Online (Sandbox Code Playgroud)

php ajax session session-variables

24
推荐指数
2
解决办法
1174
查看次数

我如何检查是否已输入session_start?

我有一个第三方脚本,并想知道如何在做某事之前确认PHP是否session_start()已经宣布?

something like if(isset($_session_start())) { //do something } 
Run Code Online (Sandbox Code Playgroud)

php

21
推荐指数
5
解决办法
5万
查看次数

如何在Wordpress中使用session_start?

我正在创建一个双语网站,并决定使用以下内容session_start来确定页面的语言:

session_start();    
if(!isset($_SESSION['language'])){
    $_SESSION['language'] = 'English'; //default language
}
Run Code Online (Sandbox Code Playgroud)

这个问题是它与Wordpress冲突,我得到以下内容:

警告:session_start()[function.session-start]:无法发送会话cookie - 已经发送的标头(输出从/home/neurosur/public_html/v2/wp-content/themes/default/header.php:8开始)第13行/home/neurosur/public_html/v2/wp-content/themes/default/region.php

有办法解决这个问题吗?

php wordpress session

19
推荐指数
3
解决办法
4万
查看次数

PHP SESSION仅在子文件夹中可用

我可以从子文件夹访问我的SESSIONS,例如./我的网站上有/老师,/学生,但不是来自/下的文件.

我的设置:

在我的页面上方:

session_set_cookie_params(time()+86400000, '/', '.mysite.com', 0, 1);
    ini_set('session.use_only_cookies', 1);
    if(!isset($_SESSION))
    {
        session_start();
    }
Run Code Online (Sandbox Code Playgroud)

我如何设置我的会话

session_regenerate_id(true);
$_SESSION['signature'] = $signature;
Run Code Online (Sandbox Code Playgroud)

我的PHP.ini

session.save_path = '/home/mysite/cvsessions'
Run Code Online (Sandbox Code Playgroud)

我错了什么?

php session

6
推荐指数
1
解决办法
1196
查看次数

会话数据在本地测试服务器上工作,但一旦上传到互联网就无法工作

我有一个网站的问题iv一直在使用easyphp服务器在本地工作.我现在已将它上传到网络服务器,之前它都在工作,现在我收到了php错误,例如:

Call to undefined function session_status() in /home/site/public_html/index.php on line 2
Run Code Online (Sandbox Code Playgroud)

它只是索引页面上的一个简单脚本,但所有其他页面都遇到了相同的会话错误问题,但它在本地工作,这使得它甚至变得奇怪.

    <?php
    if (session_status() !== PHP_SESSION_ACTIVE) {session_start();}
    if (isset($_SESSION['key'])) {$sessionkey = $_SESSION['key'];}else {$sessionkey = '';}
    if ($sessionkey == 'sbhjbKA2bsbhjbKA209bhjbKA2bsbhjbKA209KaXff19u0bsbhjbKA209KaXff19u9Ka'){
         echo '<link rel="stylesheet" href="./css/template/template.css" />';
    include 'connectmysqli.php';
    include 'menu.php';

    }
    else
    {echo '<h1 style="font-family:Verdana, Geneva, sans-serif; color:red;">Access Denied !</h1>';}
    ?>
Run Code Online (Sandbox Code Playgroud)

php session session-variables

3
推荐指数
1
解决办法
8340
查看次数

检查php中是否存在会话

在我的 php 函数中,我想检查会话是否存在。基于会话的存在,我想返回 true 或 false。

我有一个登录函数,它在登录时使用session_start();并将值存储到会话变量中,当注销时它会做session_destroy();

现在我想检查会话是否存在。我怎样才能做到这一点

function ifsessionExists(){
    // check if session exists?
    if($_SESSION[] != ''){
    return true;
    }else{
    return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

php session

3
推荐指数
2
解决办法
3万
查看次数

标签 统计

php ×10

session ×8

session-variables ×2

ajax ×1

html ×1

login ×1

mysql ×1

session-state ×1

wordpress ×1