PHP,HTML,登录屏幕会话错误

时间:2014-03-21 16:52:48

标签: php html session

帮助处理会话内容我只是得到一个空白屏幕

<!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>

3 个答案:

答案 0 :(得分:1)

你得到一个空白屏幕的原因是因为这一行中缺少一个结束分号:

$username = $_SESSION['username']
                                 ^ // <- right there

将其更改为:

$username = $_SESSION['username'];

启用error reporting 启用 ,会产生以下错误消息:

Parse error: syntax error, unexpected 'print' (T_PRINT) in...

然而,这并不总能保证错误在该特定行上,而是在它之前的行。

在文档中添加以下错误报告:

ini_set('display_errors',1); 
error_reporting(E_ALL);

有关PHP错误报告功能的更多信息,请访问以下内容:

答案 1 :(得分:0)

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

答案 2 :(得分:0)

删除代码周围的{}大括号 - 它们阻止了执行。

此外,在发送任何页面内容之前,必须使用session_start()。您的文件已输出HTML标题代码,因此session_start()将无效。