Php 这个代码有什么问题?我怎样才能纠正它?
我对PHP完全陌生。所以,是的,这个代码可能完全没有意义。但是安威。我想寻求帮助。如果有人能告诉我什么是错误的,或者只是写正确的代码 基本上,我试图使代码做的是检查用户是否登录,如果没有,然后显示他登录和注册链接 如果他已登录,则显示他的用户名 以下是PHP代码:Php 这个代码有什么问题?我怎样才能纠正它?,php,if-statement,Php,If Statement,我对PHP完全陌生。所以,是的,这个代码可能完全没有意义。但是安威。我想寻求帮助。如果有人能告诉我什么是错误的,或者只是写正确的代码 基本上,我试图使代码做的是检查用户是否登录,如果没有,然后显示他登录和注册链接 如果他已登录,则显示他的用户名 以下是PHP代码: <?php require("common.php"); if(empty($_SESSION['user'])) { echo("<a href="login.html">
<?php
require("common.php");
if(empty($_SESSION['user']))
{
echo("<a href="login.html"><b>Login</b></a>");
echo("<a>or<a>");
echo("<a href="register.html"><b>Register</b></a>");
}
else
{
echo 'Username: ' . $current_user->user_login . "\n";
}
?>
来自HTML的代码:(我用来包含此代码的代码。不确定它是否也是…)
感谢您的回答以下问题仍然无法解决:(
这是当前代码,我编辑了你们的建议
<?php
session_start()
require("common.php");
if(empty($_SESSION['user']))
{
echo '<a href="login.html"><b>Login</b></a>';
echo '<a>or<a>';
echo '<a href="register.html"><b>Register</b></a>';
}
else
{
echo 'Username: ' . $current_user->username . "\n";
}
?>
您确定会话正在自动启动吗? 否则,您需要添加以下内容: 编辑:还要删除echo周围的父项,它是内置语言,不是函数。还有转义引号
<?php
session_start()
require("common.php");
if(empty($_SESSION['user']))
{
echo "<a href=\"login.html\"><b>Login</b></a>";
echo "<a>or<a>";
echo "<a href=\"register.html\"><b>Register</b></a>";
}
else
{
echo 'Username: ' . $current_user->user_login . "\n";
}
?>
您还可以添加一个php.ini并使用session auto_start
试试这个:
if(empty($_SESSION['user']))
{
echo '<a href="login.html"><b>Login</b></a>';
echo ' or ';
echo '<a href="register.html"><b>Register</b></a>';
}
if(空($\u会话['user']))
{
回声';
回声“或”;
回声';
}
首先,您需要对所有转义语句中的双引号进行转义,如下所示:
echo "<a href=\"login.html\"><b>Login</b></a>";
echo "<a>or<a>";
echo "<a href=\"register.html\"><b>Register</b></a>";
echo”“;
回声“;
echo
不需要括号
其次,为了使用
$\u SESSION
变量,您需要先使用函数SESSION\u start()
启动会话,然后才能使用SESSION\u start()
?echo不需要括号”
转义引号。我认为您不需要$\u会话['user']
如果您有$current\u user->user\u login
。或者反之亦然。
标题操作?我以前从未见过。您的意思是不是
感谢大家的支持。仍然不起作用tho:(当前看起来像这样,但您在设置$\u会话时是否也调用session\u start()?是的。Common.php有session\u start()最后。我还尝试了手动编写session_start()。我想您可能已经关闭了错误报告功能
。看起来您在session_start()之后漏掉了一个分号
,如果评论中没有输入错误的话..我这样做了。仍然不起作用。我想知道我是否需要一些php文件上的html。或者php到html?所以目前我的html文件有:所以我试图打印php文件的标题…现在它不会打印到任何地方。您是否正确给出了文件路径?action=“php/check.php”
是相对于当前位置的。在它之前使用一个/
。它类似于操作=“/php/check.php”
。如果它不起作用,请查看此项以获取根目录的位置:@user2475515我以前从未见过
。@Fred我怎么没有注意到它?-\u-我使它仍然不起作用,因为:(
echo "<a href=\"login.html\"><b>Login</b></a>";
echo "<a>or<a>";
echo "<a href=\"register.html\"><b>Register</b></a>";