[英]How to redirect to the page that I want after logged in and display username after successful login
我正在做我的項目。 我的登錄系統有問題。 首先,我想重定向到我想要的頁面。 其次,我想在導航欄上顯示用戶名(與登錄用戶名相同)。
我已經嘗試過“header()”進行重定向,但它不起作用。 它顯示“未找到對象”頁面。 我也嘗試過“window.location.assign()”,但它顯示的結果與“header()”相同。
索引.php
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
.
.
.
<title>Online Stock Trading</title>
</head>
<body>
<!-- navbar -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
.
.
.
<form class="form-inline" action="php/login_page.php" method="post">
<input class="form-control mr-sm-2" type="text" placeholder="Username" name="username">
<input class="form-control mr-sm-2" type="password" placeholder="Password" name="password">
<button class="btn btn-success my-2 mr-sm-2" id="login-btn" type="submit">LOGIN</button>
<button type="button" class="btn btn-primary my-2 mr-sm-2" id="sign_up" data-toggle="modal" data-target="#exampleModalLong">SIGN UP</button>
</form>
</nav>
.
.
.
</body>
</html>
登錄頁面.php
<?php
$con = mysqli_connect("localhost","root","","project");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL".mysqli_connect_error();
}
$username = mysqli_real_escape_string($con,$_POST['username']);
$password = mysqli_real_escape_string($con,$_POST['password']);
$result = mysqli_query($con,"SELECT Username, Password FROM trader_data WHERE Username = '$username' AND Password = '$password'")
or die("Failed to query database".mysql_error());
$row = mysqli_fetch_array($result);
if ($row['Username']==$username && $row['Password']==$password)
{
$_SESSION['username'] = $username;
echo "<script>
alert('Login Success!!');
window.location.assign('logged_in.php');
</script>";
}
else
{
echo "<script>
alert('Failed to login!!');
window.location.assign('index.php');
</script>";
}
mysqli_close($con);
?>
登錄.php
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
.
.
.
<title>Online Stock Trading</title>
</head>
<body>
<!-- navbar -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
.
.
.
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<?php echo $_SESSION["username"];?>
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">My Account</a>
<a class="dropdown-item" href="#">History</a>
<a class="dropdown-item" href="#">Portfolio</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Logout</a>
</div>
</div>
</div>
</div>
</nav>
.
.
.
</body>
</html>
我希望我的網站在登錄后會轉到“logged_in.php”頁面。然后,在“index.php”頁面上顯示用於登錄的用戶名。
您可以嘗試使用window.location.href
進行重定向。 要將值傳遞到另一個頁面,您可以使用會話或發出GET
請求。
使用會話:
登錄頁面.php
<?php session_start(); $_SESSION['username'] = $username; ?> <script> window.location.href="logged_in.php"; </script>
登錄.php
<?php session_start(); $username = $_SESSION['username']; ?>
使用GET
請求
登錄頁面.php
<script> window.location.href="logged_in.php?username=<?php echo $username;?>" </script>
登錄.php
<?php $username = $_GET['username']; ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.