2013-11-21 20 views
-2

Моего PHP кода dosnt, кажется, работают, и я не знаю, почему, когда я когда-либо использовать этот код, он будет делать весь сайт появится white.I думает, что проблема где-то здесь echo Hello, (.$_SESSION['username'], ENT_QUOTES, 'UTF-8'); Заранее спасибоPHP код сеанс не работает

session_start(); 

if(!isset($_SESSION['user']) && empty($_SESSION['user'])) { 
    echo '<a href="/login"><b>Log In</b></a>'; 
} 

else { 
    echo Hello, (.$_SESSION['username'], ENT_QUOTES, 'UTF-8'); 
    echo '</br></b>'; 
    echo '<a href="/user-area/logout.php"><b>Log Out</b></a>'; 
} 
+0

попробуйте добавить кавычки 'Hello'? – andrewsi

+0

У вас есть синтаксическая ошибка в 'echo Hello (.). Белый экран в PHP означает, что вы проверяете свой журнал ошибок. Включите отчет об ошибках и display_errors всегда при разработке кода.' Error_reporting (E_ALL); ini_set ('display_errors', 1); ' –

+1

Вам нужно объединить строку' "Hello," 'с переменной сеанса.' Echo "Hello,". Htmlspecialchars ($ _ SESSION ... 'Похоже, вы также потеряли часть вызова' htmlspecialchars () '. –

ответ

3

Когда ваша страница становится белой, обычно это означает, что у вас есть фатальная ошибка в вашем коде, и вам нужно проверить свои журналы или включить error_reporting.

В этом случае вам не хватает кавычек, есть конкатенация, немного перепутанная и, кажется, отсутствует вызов функции (возможно, htmlspecialchars).

Кроме того, вы проверяете $_SESSION['user'] несколько строк ранее в своем коде, вы уверены, что не имеете в виду, что здесь вместо $_SESSION['username']?

Я думаю, что вы хотите изменить эту строку:

echo "Hello, " . htmlspecialchars($_SESSION['user'], ENT_QUOTES, 'UTF-8'); 
+1

' ($ _SESSION ['username'], ENT_QUOTES, 'UTF-8') 'неверно PHP. Вероятно, отсутствует' htmlspecialchars() ' –

+0

@MichaelBerkowski Спасибо, не знаю, как я это пропустил. – jszobody

+0

Правильно, теперь отображается страница снова, но она не отображает имя пользователя. – user2925945