在我的header.php
文件中,在第10行,我已赋予$user = $_SESSION['user'];
的值,并在指定$userstr = " $user";
但是,当$userstr
和<title>
中的HTML echo语句(第15行)中调用<div class='appname'>
变量时,显示的所有内容都是父级,而不是{的值{1}}
基本上在$user = $_SESSION['user']
和<title>
中,它显示的是<div>
这不仅发生在这个php文件上,而且发生在项目的所有页面上。
为什么会这样?
$userstr = "()"
{1}}在HTML echo语句之后的第33行在单独的文件<?php //header.php
$n = "\n";
session_start();
echo "<!DOCTYPE html>$n<html>$n<head>$n<script type='text/javascript' src='OSC.js'></script><script type='text/javascript' src='ajaxrequest.js'></script>$n";
include 'functions.php';
$userstr = ' (Guest)';
if (isset($_SESSION['user'])) {
$user = $_SESSION['user'];
$loggedin = TRUE;
$userstr = " $user";
} else $loggedin = FALSE;
echo "<title>$appname$userstr</title>$n" .
"<link rel='stylesheet' href='styles.css' type='text/css' />" .
"</head>$n<body>$n<div class='appname'>$appname$userstr</div>";
if ($loggedin) {
echo "</br><ul class='menu'>" .
"<li><a href='members.php?view=$user'>Home</a></li>" .
"<li><a href='members.php'>Members</a></li>" .
"<li><a href='friends.php'>Friends</a></li>" .
"<li><a href='messages.php'>Messages</a></li>" .
"<li><a href='profile.php'>Edit Profile</a></li>" .
"<li><a href='logout.php'>Log out</a></li></ul></br>";
} else {
echo "</br><ul class='menu'>" .
"<li><a href='index.php'>Home</a></li>" .
"<li><a href='signup.php'>Sign Up</a></li>" .
"<li><a href='login.php'>Log In</a></li></ul></br>" .
"<span class='info'>⇒ You must be logged in to " .
"view this page.</span></br></br>";
}
?>
中定义
$_SESSION['user']
答案 0 :(得分:1)
正如Jeremy Miller所说&lt; =(信用),这一行:
if ($user = "" || $pass == "")
第一个变量$user
正在作为assignment operator
=
进行处理,而第二个变量$pass
则作为comparison operator
==
进行处理
两个变量都应该使用比较运算符。
if ($user == "" || $pass == "")