为什么我的变量$ userstr似乎只有值“()”?

时间:2014-03-12 13:27:38

标签: php html session

在我的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'>&#8658; You must be logged in to " . "view this page.</span></br></br>"; } ?> 中定义

$_SESSION['user']

1 个答案:

答案 0 :(得分:1)

正如Jeremy Miller所说&lt; =(信用),这一行:

if ($user = "" || $pass == "")

第一个变量$user正在作为assignment operator =进行处理,而第二个变量$pass则作为comparison operator ==进行处理

两个变量都应该使用比较运算符。

if ($user == "" || $pass == "")