Помогите с сеансом, я просто получаю пустой экран
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Login</title>
<style type="text/css" media="screen">
.error { color: red; }
</style>
</head>
<body>
<h1>Welcome Page</h1>
<?php
{
session_start();
$username = $_SESSION['username']
// Print a greeting:
print '<h2>Welcome to DVD MANIA!</h2>';
print "<p>Hello $username </p>";
// Print how long they've been logged in:
date_default_timezone_set('Europe/London');
// print '<p>You have been logged in since: ' . date('g:i a', $_SESSION['loggedin']) . '</p>';
// Make a logout link:
print '<p><a href="logout.php">Click here to logout.</a></p>';
}
?>
</body>
</html>
Причина, по которой вы получаете пустой экран, состоит в том, что в этой строке отсутствует закрывающая запятая:
$username = $_SESSION['username']
^ // <- right there
Измените его на:
$username = $_SESSION['username'];
Если включить отчет об ошибках, возникло бы следующее сообщение об ошибке:
Parse error: syntax error, unexpected 'print' (T_PRINT) in...
Однако это не всегда гарантирует, что ошибка будет на этой конкретной строке, а строка перед ней.
Добавьте в свой документ (-ы) следующие документы:
ini_set('display_errors',1);
error_reporting(E_ALL);
Дополнительные сведения о функции создания отчетов об ошибках PHP см. В следующем:
Удалите {}
фигурные скобки вокруг вашего кода - они предотвращают выполнение.
Кроме того, session_start()
ДОЛЖНО использоваться до отправки любого содержимого страницы. Ваш файл уже выводит код заголовка HTML, поэтому session_start()
не будет работать.
Поместите session_start()
в верхней части страницы и удалите ненужные {}
фигурные скобки:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
// etc...
<?php
$username = $_SESSION['username'];
// ^ missing semicolon ;
?>
session_start Docs