Php 不显示问候语
当我意识到我犯了一个问题时,我正在处理我的登录-注册系统,但我不知道它是什么:/ 在index.php页面中,标题应显示一个welcome guest,并链接到登录和注册页面。。。例如,如果gust登录显示Welcome$username。 但是当我测试它的时候。。。如果我登录它重定向到index.php页面,因为我在代码中键入,但消息不会改变。。。 代码如下: index.php/header.php:Php 不显示问候语,php,Php,当我意识到我犯了一个问题时,我正在处理我的登录-注册系统,但我不知道它是什么:/ 在index.php页面中,标题应显示一个welcome guest,并链接到登录和注册页面。。。例如,如果gust登录显示Welcome$username。 但是当我测试它的时候。。。如果我登录它重定向到index.php页面,因为我在代码中键入,但消息不会改变。。。 代码如下: index.php/header.php: <?php error_reporting(E_ALL ^ E_NOTICE
<?php
error_reporting(E_ALL ^ E_NOTICE);
error_reporting(0);
session_start();
$userid = $_SESSION['userid'];
$username = $_SESSION['username'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<LINK REL=StyleSheet HREF="css/test-style.css" TYPE="text/css">
</head>
<body id="body">
<div id="header">
<div id="Greeting">
<?php
if ($userid && $username) {
echo "<p>Welcome <b>$username</b></p></p><a href='logout.php'>Logout</a></p>";
} else {
echo "<p>Welcome Guest <br><a href='login.php'>Log in</a> | <a href='register.php'>Register</a></p>";
}
?>
</div>
<div id="logo"><h2>Testing website</h2></div>
</div>
<div id='cssmenu'>
<ul>
<li><a href='#'><span>Test link 1</span></a></li>
<li><a href='#'><span>Test link 2</span></a></li>
<li><a href='#'><span>Test link 3</span></a></li>
<li><a href='#'><span>Test link 4</span></a></li>
</ul>
</div>
<div>
下面是login.php页面:
<?php
error_reporting(E_ALL ^ E_NOTICE);
error_reporting(0);
include 'includes/header.php';
?>
<div id="login">
<h2>Log in</h2>
<?php
if ($_POST['loginbtn']) {
$user = $_POST['user'];
$password = $_POST['pass'];
if ($user) {
if ($password) {
require ("core/connect.php");
$query= mysql_query("SELECT * FROM users WHERE username='$user'");
$numrows = mysql_num_rows($query);
if ($numrows == 1) {
$row = mysql_fetch_assoc($query);
$dbid = $row['id'];
$dbuser = $row['username'];
$dbpass = $row['password'];
$dbactive = $row['active'];
if ($password == $dbpass){
if ($dbactive == 1) {
session_start();
$userid = $_SESSION['userid'];
$username = $_SESSION['username'];
header('Location: index.php');
} else {
echo "<font color='red'>You must activate your account to login.</font>";
}
}else {
echo "<font color='red'>You've entered an invalid username or password.</font>";
}
}else{
echo "<font color='red'>You've entered an invalid username or password.</font>";
}
mysql_close();
}else{
echo "<font color='red'>You must enter a password.</font>";
}
} else {
echo "<font color='red'>You must enter a username.</font>";
}
}
?>
<form action="index.php" method="POST">
<font color="black">Username: </font><br><input type="text" name="user"><br><br>
<font color="black">Password: </font><br><input type="password" name="pass"><br><br>
<input type="submit" value="Login" name="loginbtn" />
<br><br>
<font color="black">Don\'t have an account ? <a href="register.php">Register</a></font>
</form>
</div>';
<?php include 'includes/footer.php'; ?>
感谢阅读。在您的login.php中,您使用的是: $userid=$\会话['userid']; $username=$\会话['username']; 课程刚开始 您应该先初始化它们,如下所示: $userid=$dbid; $username=$dbuser; 您可以通过它们设置$\u会话: $\会话['userid']=$userid; $\会话['username']=$username; 在login.php中替换 到 实际上,您从未设置会话变量。上面那两行就是这么做的
你的剧本需要做很多工作,但我只是回答问题。继续学习这是唯一的方法 脚本中最好的两行:错误报告全部通知;错误_报告0;,想想看,我无法决定哪一个更好:Di确实移除了它们。。。没有错误。。。。。哈哈哈,我两者都用p总比没有好:使用以下行进行错误报告:注意:未定义索引:第4行C:\wamp\www\test\includes\header.php中的userid注意:第5行C:\wamp\www\test\includes\header.php中的未定义索引:username这两个错误。。。。现在怎么办?给你^!你有你的错误,告诉我们你的header.php文件没有工作:/or也许我做错了什么。。。请给我完整的密码?谢谢。你说需要做很多工作是什么意思o喜欢什么?:o我很想知道需要改进什么:欧威尔,这肯定是问题的一部分$userid=$\u会话['userid'];要求提供$\u会话['userid']的内容,但是$\u会话['userid']未在代码中的任何位置定义。我让你替换的线路解决了这个问题。您可能还有其他问题,因为在原始帖子中有关错误报告的评论指出了这一点。header.php中似乎有错误。你也应该给我们那个密码。
$userid = $_SESSION['userid'];
$username = $_SESSION['username'];
$_SESSION['userid'] = $dbid;
$_SESSION['username'] = $dbuser;