帮助处理会话内容我只是得到一个空白屏幕
<!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>
答案 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()
将无效。