使用if/else在PHP中输出HTML?
我想在一定条件下输出html。如何将PHP应用于此? 以下代码不起作用使用if/else在PHP中输出HTML?,php,html,Php,Html,我想在一定条件下输出html。如何将PHP应用于此? 以下代码不起作用 <h2>Hello, <?php session_start(); if (isset($_SESSION['valid_user'])){ //user is actually logged in, so display their name in top right corner ec
<h2>Hello,
<?php
session_start();
if (isset($_SESSION['valid_user'])){
//user is actually logged in, so display their name in top right corner
echo $_SESSION['valid_user'];
} else{
echo " Guest ";
}
?>
</h2>
你好,
它只输出“你好”
编辑:感谢您无情地指出了最基本的部分…您不能会话_start()代码>输出后。将其放在文件顶部的
中(在任何其他输出之前)
在当前形式中,您的代码可能会在触发错误后停止执行,永远不会到达if(isset())
发生了什么?是否可能“valid_user”存在但为空?请尝试将会话存储在变量中,例如$user
,然后回显它不会输出任何内容…尝试var_dump($\u会话['valid_user'])
,然后发布result@user3476554将其存储在变量中不会起任何作用。您的代码没有明显的错误-是否检查了$\u会话['valid\u user']
是否为空字符串?在这种情况下,isset($\u SESSION['valid\u user'])
将返回true,您将只看到“Hello”。啊,好消息。这可能是OP的问题。请务必检查错误日志(并在开发时打开“显示错误”)。如果是这种情况,请查看源代码-您会注意到关闭的
也不在那里。这样做了吗..没有骰子。。我想知道CSS是否把它藏在某个地方。。。我的echo语句应该具有CSS correct?中的属性,因为它们位于标记中。是的,正确。它将是
标记的一部分。如果查看页面的源代码,是否有结束语?可能PHP没有完全执行。如果您看到结束符
,那么您确定已经为变量设置了名称吗?比如,试试:echo“[[”$\u会话['valid\u user']。“]]
并查看是否看到括号,例如“欢迎,[[]]”
。如果是这样的话,除了在代码中定义$\u SESSION['valid\u user']=…
结束标记位于底部的位置之外,所有操作都正常运行。。在关闭?>PHP标记之后。。没有人在OP中看到吗?不是你的源代码,我的意思是如果你在浏览器窗口的输出页面中“查看源代码”。。。