Php 会话不使用Wordpress

Php 会话不使用Wordpress,php,wordpress,session,Php,Wordpress,Session,我已经搞乱这个有一段时间了,我知道这很简单。我在另一个网站上使用了基本相同的代码,它似乎没有任何问题,并且运行在同一台服务器上,所以我不认为这是服务器端问题。这是一个非常简单的登录脚本: function user_login($username, $password) { $passcorrect = user_checkpass($username, $password); if ($passcorrect == "1") { $_SESSION['eocname'] = $user

我已经搞乱这个有一段时间了,我知道这很简单。我在另一个网站上使用了基本相同的代码,它似乎没有任何问题,并且运行在同一台服务器上,所以我不认为这是服务器端问题。这是一个非常简单的登录脚本:

function user_login($username, $password) {
$passcorrect = user_checkpass($username, $password);
if ($passcorrect == "1") {
    $_SESSION['eocname'] = $username;
    echo("SETTING SESSION: ".$_SESSION['eocname']."<br />");
    $success = "1";
} else {
    $success = "0";
}
return($success);
}
函数用户登录($username,$password){
$passcorrect=user\u checkpass($username,$password);
如果($passcorrect==“1”){
$\会话['eocname']=$username;
echo(“设置会话:“.$”会话['eocname'].“
”; $success=“1”; }否则{ $success=“0”; } 回报($成功); }
这似乎是在设置会话变量,并且位于functions.php文件中

但是,一旦刷新页面,会话就会消失。下面是page.php文件中的代码:

<?php
    if (!isset($_SESSION['eocname'])) {
        if (!isset($_POST['username'])) {
            echo("You must login to access this page!");
            echo($_SESSION['username']);
        } else {
            $result = user_login($_POST['username'], $_POST['password']);
            if ($result == "0") { 
                echo("Incorrect Username or Password."); 
            } else { 
                echo("Login Successful!"); 
            }
        }
    } else {
        echo('Welcome back, '.$_SESSION['username'].'!');
    }
    ?>

请注意,我确实意识到其中可能有一些多余的东西,我一直在尝试确定问题所在,但似乎每次$_会话['eocname']刷新页面后都没有设置


我添加了session_start();在myfunctions.php文件的顶部没有错误,以确保它可以正常工作,但仍然不走运。

您应该在插件中创建一个init操作,并在函数init内启动会话。您的代码应该如下所示:

add_action('init', 'initEverything');

function initEverything() {
    if(!session_id()) {
        session_start();
    }
}
另一个选项是在wp-config.php中启动会话

if(!session_id()) {
    session_start();
}

@用户1524441这就解决了你的问题?让我知道结果或者如何提高我的anwserHello Sena,不幸的是,我已经尝试了这两种方法,但由于某种原因,两种方法都不起作用。会话变量似乎仍在被删除或其他内容。表单提交后会显示“登录成功!”,页面刷新后会显示“您必须登录才能访问此页面!”。请注意,这不是一个插件,因此我没有使用您推荐的add_操作部分,而是尝试将session_start()放置在函数中以及wp-config.php文件中。还是一样的结果。