0

要求用户的第一件事是登录;如果登录成功,则将用户发送到 index.php;否则;他们被要求重新输入他们的详细信息。

我希望用户登录后用户名显示在 index.php 上;

所以使用 index.php 文件中的 echo 函数GET从登录到用户名

//check to see if they match
if($username==$dbusername&&$password==$password)
{
$_SESSION['username']=$username;
    echo "Welcome '.$username.'";
    header('Location: nindex.php');
    die(); 
}
else
echo "incorrect password";

}
else
    die("That user does not exist");
}
else
    die("please provide a  username and password");

?>
4

3 回答 3

5
header("Refresh: 5; url=index.php");
echo "Welcome '" . $username . "'";
exit;#should be added so rest of page doesn't load.

或者

echo "Welcome '" . $username . "'";?>
<meta http-equiv="refresh" content="5; url=index.php" />
<?php
exit;#should be added so rest of page doesn't load.

应该告诉他们Welcome 'username'然后在 5 秒后重定向到您的页面,您可以将 5 更改为您认为足够长的任何数字。建议使用元数据,因为标头可能会给您错误/警告。

编辑:

看起来您想Welcome 'username'在 index.php 页面上进行打印,并且确保您session_start()在每个页面的顶部都有。

if(isset($_SESSION['username'])){
    echo "Welcome '{$_SESSION['username']}'";
}

echo "Welcome '.$username.'";从您的登录页面中删除。如果您希望它显示一次,我可以根据需要修改我的答案。

于 2013-04-01T02:35:59.017 回答
3

在调用'header'之前你不能回显任何输出,否则你会得到那个错误。

echo命令需要在被调用页面nindex.php中完成

于 2013-04-01T02:34:49.953 回答
1
<?php


  if(!empty($username) && !empty($password)) {

      if($username == $dbusername && $password == $dbpassword) {

            $_SESSION['username'] = $username;
            header("Location: index.php?id=$username");
            die();
      }else {
        echo 'incorrect username/password combination';
      }
  }else {
  echo 'Username and Password NOT FOUND! ';  
  }

index.php 中放

if(isset($_GET['id'])){
echo 'Welcome '.$_GET['id'];
}else {
echo '(write) a 404 page';

}
于 2013-04-01T02:34:10.130 回答