2013-02-23 1 views
0

Здесь код начинает сбой (fun.php): Также кажется, что текстовый файл не записывается, он даже не создать файлКажется, что 1 из моих сеансов даже не сохраняется на всех страницах

<?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; 
} 

Я не думаю, что нужно Это случается довольно странно. Любые идеи?

+1

Объясните больше о проблеме. вы получаете какие-либо ошибки? что вы ожидаете и что получаете? – Boynux

+0

Добавьте 'error_reporting (E_ALL);' поверх каждого скрипта. (* Всегда *, когда что-то не работает.) – mario

+0

Примечание: Неопределенный индекс: запрещен в /home/manseld/public_html/fun.php в строке 10. Какая строка: if (($ _ SESSION ['Banned'] = = True && (! File_exists ("/ home/manseld/public_html/accounts/banned /".$_ SESSION ['CurrentUser'].". Txt ")))) { Но теперь я его исправил (отредактировал главный пост) – 2013-02-23 19:55:11

ответ

0

Я не очень понимаю ваш вопрос (что переменная сеанса не работает?), Но

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

должен быть

$_SESSION['CurrentUser'] = $user;

+0

необязательно – Winston

+1

Кавычки являются избыточными, но эквивалентными. – mario

+0

Да, хорошо, но это хорошее начало;) –