0

これは、コードが失敗し始める場所です (fun.php): また、テキスト ファイルが書き込まれていないようで、ファイルを作成することさえできません。

<?php 
    session_start();

    if($_SESSION['LoggedIn'] == False)
    {
        header("Location: /login.php");
        return ;
    }
    include ('/home/manseld/public_html/scripts/config.php');

    if(($_SESSION['Banned'] == True && (!file_exists("/home/manseld/public_html/accounts/banned/". $_SESSION['CurrentUser'] .".txt"))))
    {
        $_SESSION['Banned'] = False;
    }

    if(file_exists("/home/manseld/public_html/accounts/banned/". $_SESSION['CurrentUser'] .".txt"))
    {
        header("Location: /error.php?e=banned&img=fuuu");
        return ;
    }
// Log User(s) IP 

    if(($_SESSION['LoggedIn'] == True) && (!$_SESSION['CurrentUser'] == "ManselD"))
    {
        ini_set('date.timezone', 'Europe/London');
        $ip = $_SERVER['REMOTE_ADDR'];
        $user = $_SESSION['CurrentUser'];
        $txt = date("h:i") ." | ". $user ." | ". $ip ."\n";
        $url = "accounts/logs/". trim(date(F) ."-". date(d) ."-". date(Y) .".txt");
        $file = fopen($url, "a");
        fwrite($file, $txt);
        fclose($file);
    }
?>

さて、これが$_SESSION['CurrentUser'];設定されている場所です(login.phpで)またはこの場合、設定されていません>.>

session_start();
$user = stripslashes($_POST['user']);
$pass = stripslashes($_POST['pass']);
$banned = "/home/manseld/public_html/accounts/banned/$user.txt";
$normal = "/home/manseld/public_html/accounts/$user.txt";
$_SESSION['CurrentUser'] = "$user";

if($_SESSION['LoggedIn'] == True){
header("Location: /fun.php");
return;
}else{
$_SESSION['LoggedIn'] = False;
}

if(isset($_POST['submit'])){
// Banned Users
if(($_SESSION['Banned'] == True && (!file_exists("/home/manseld/public_html/accounts/banned/".$_SESSION['CurrentUser'].".txt")))){
$_SESSION['Banned'] = False;
}
if(file_exists("/home/manseld/public_html/accounts/banned/".$_SESSION['CurrentUser'].".txt")){
$_SESSION['Banned'] = True;
header("Location: /error.php?e=banned&img=fuuu");
return;
}else{
$_SESSION['Banned'] = False;
}

私はそれが起こるべきだとは本当に思いません、それはかなり奇妙です。何か案は?

4

1 に答える 1

0

私はあなたの質問をよく理解していません (どのセッション変数が機能しないのですか?)

$_SESSION['CurrentUser'] = "$user";

する必要があります

$_SESSION['CurrentUser'] = $user;

于 2013-02-23T19:31:57.313 に答える