Php 不显示问候语

Php 不显示问候语,php,Php,当我意识到我犯了一个问题时,我正在处理我的登录-注册系统,但我不知道它是什么:/ 在index.php页面中,标题应显示一个welcome guest,并链接到登录和注册页面。。。例如,如果gust登录显示Welcome$username。 但是当我测试它的时候。。。如果我登录它重定向到index.php页面,因为我在代码中键入,但消息不会改变。。。 代码如下: index.php/header.php: <?php error_reporting(E_ALL ^ E_NOTICE

当我意识到我犯了一个问题时,我正在处理我的登录-注册系统,但我不知道它是什么:/ 在index.php页面中,标题应显示一个welcome guest,并链接到登录和注册页面。。。例如,如果gust登录显示Welcome$username。 但是当我测试它的时候。。。如果我登录它重定向到index.php页面,因为我在代码中键入,但消息不会改变。。。 代码如下: index.php/header.php:

    <?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;