如何使用 php 为我的网站应用程序创建默认页面?
How do I make a default page for my website application with php?
所以我希望有人能给我一个简单的功能或解决方案来在我的网站上放置一个默认页面。这意味着如果用户尝试访问我网站的另一个页面,他将无法访问。他需要通过这个默认页面。因为在我的网站上我有一个管理页面,我不想让一个简单的用户访问它。我在互联网上做了一些研究,但没有找到解决我的问题的好方法。有什么办法可以简单地通过代码来完成而不更改索引文件吗?更具体地说,我希望它只适用于我的一个网站,而不适用于所有网站。我有一个管理员登录系统,但由于您可以通过键入地址直接访问管理页面而不使用登录系统,所以这是一个问题。我确实尝试做一个索引,但问题是当我尝试登录时,它会在默认页面而不是管理页面上重定向我。我将不胜感激任何帮助。最好的问候一个年轻的程序员。
这是index.php
<?php
header('Location: Foredeckmain.php');
exit;
?>
这是登录页面
<?php
ob_start();
session_start();
?>
<html lang = "en">
<head>
<title>Foredeck Login.com</title>
<link href = "css/bootstrap.min.css" rel = "stylesheet">
<style>
body {
padding-top: 40px;
padding-bottom: 40px;
background-color: #6495ED;
}
.form-signin {
max-width: 330px;
padding: 15px;
margin: 0 auto;
color: #000000;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
margin-bottom: 10px;
}
.form-signin .checkbox {
font-weight: normal;
}
.form-signin .form-control {
position: relative;
height: auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 10px;
font-size: 16px;
}
.form-signin .form-control:focus {
z-index: 2;
}
.form-signin input[type="text"] {
margin-bottom: 0 px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
border-color:#000000;
}
.form-signin input[type="password"] {
margin-bottom: 10px;
border-top-left-radius: 0;
border-top-right-radius: 0;
border-color:#000000;
}
h3{
text-align: ;
color: #000000;
}
h1{
text-align: ;
color: #000000;
}
</style>
</head>
<?php
$msg = '';
if (isset($_POST['login']) && !empty($_POST['username'])
&& !empty($_POST['password'])) {
if ($_POST['username'] == 'foredeck' &&
$_POST['password'] == 'foredeck1') {
$_SESSION['valid'] = true;
$_SESSION['timeout'] = time();
$_SESSION['username'] = 'foredeck';
$msg ='Connexion Réussite';
echo "<script type='text/javascript'>alert('Connexion Réussite');
window.location='foredeck.php'; </script>";
header("refresh:3 location: foredeck.php");
}else {
$msg='Identifiant ou Mot de Passe incorrecte';
$msg = "<script type='text/javascript'>alert('$msg')</script>";
}
}
?>
</div> <!-- /container -->
<div class = "container">
<form class = "form-signin" role = "form"
action = "<?php echo htmlspecialchars($_SERVER['PHP_SELF']);
?>" method = "post">
<h4 class = "form-signin-heading"><?php echo $msg; ?></h4>
<h1>Foredeck@Admin</h1>
<h3>Entrer l'identifant et le mot de passe:</h3>
<input type = "text" class = "form-control"
name = "username" placeholder = "Identifiant "
required autofocus></br>
<input type = "password" class = "form-control"
name = "password" placeholder = "Mot de passe " required>
<br>
<button class = "btn btn-lg btn-primary btn-block" type = "submit"
name = "login">Se connecter</button>
</form>
</div>
</body>
这是注销部分
<?php
session_start();
unset($_SESSION["username"]);
unset($_SESSION["password"]);
echo 'Déconnexion en cours...';
header('Refresh: 2; URL = foredeckmain.php');
?>
说实话,我不明白你为什么要这样做,但无论如何。
但如果我是你,我会采取后续步骤
配置Apache/Nginx/or您的网站/通过默认页面处理您的所有请求(index.php 或类似的东西)
在index.php中您需要了解您的用户需要什么页面。如果不存在就给他看404页面。
- 如果页面存在但不是您的默认页面,并且用户之前没有访问过它,请将他重定向到那里。
在您的默认页面中,写入会话,例如 $_SESSION['passed_default'] = 1;
现在,在您的index.php中您需要检查
if(isset($_SESSION['passed_default']) && $_SESSION['passed_default'])
{
//Show desired page
}
else
{
//redirect to default
}
所以我希望有人能给我一个简单的功能或解决方案来在我的网站上放置一个默认页面。这意味着如果用户尝试访问我网站的另一个页面,他将无法访问。他需要通过这个默认页面。因为在我的网站上我有一个管理页面,我不想让一个简单的用户访问它。我在互联网上做了一些研究,但没有找到解决我的问题的好方法。有什么办法可以简单地通过代码来完成而不更改索引文件吗?更具体地说,我希望它只适用于我的一个网站,而不适用于所有网站。我有一个管理员登录系统,但由于您可以通过键入地址直接访问管理页面而不使用登录系统,所以这是一个问题。我确实尝试做一个索引,但问题是当我尝试登录时,它会在默认页面而不是管理页面上重定向我。我将不胜感激任何帮助。最好的问候一个年轻的程序员。
这是index.php
<?php
header('Location: Foredeckmain.php');
exit;
?>
这是登录页面
<?php
ob_start();
session_start();
?>
<html lang = "en">
<head>
<title>Foredeck Login.com</title>
<link href = "css/bootstrap.min.css" rel = "stylesheet">
<style>
body {
padding-top: 40px;
padding-bottom: 40px;
background-color: #6495ED;
}
.form-signin {
max-width: 330px;
padding: 15px;
margin: 0 auto;
color: #000000;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
margin-bottom: 10px;
}
.form-signin .checkbox {
font-weight: normal;
}
.form-signin .form-control {
position: relative;
height: auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 10px;
font-size: 16px;
}
.form-signin .form-control:focus {
z-index: 2;
}
.form-signin input[type="text"] {
margin-bottom: 0 px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
border-color:#000000;
}
.form-signin input[type="password"] {
margin-bottom: 10px;
border-top-left-radius: 0;
border-top-right-radius: 0;
border-color:#000000;
}
h3{
text-align: ;
color: #000000;
}
h1{
text-align: ;
color: #000000;
}
</style>
</head>
<?php
$msg = '';
if (isset($_POST['login']) && !empty($_POST['username'])
&& !empty($_POST['password'])) {
if ($_POST['username'] == 'foredeck' &&
$_POST['password'] == 'foredeck1') {
$_SESSION['valid'] = true;
$_SESSION['timeout'] = time();
$_SESSION['username'] = 'foredeck';
$msg ='Connexion Réussite';
echo "<script type='text/javascript'>alert('Connexion Réussite');
window.location='foredeck.php'; </script>";
header("refresh:3 location: foredeck.php");
}else {
$msg='Identifiant ou Mot de Passe incorrecte';
$msg = "<script type='text/javascript'>alert('$msg')</script>";
}
}
?>
</div> <!-- /container -->
<div class = "container">
<form class = "form-signin" role = "form"
action = "<?php echo htmlspecialchars($_SERVER['PHP_SELF']);
?>" method = "post">
<h4 class = "form-signin-heading"><?php echo $msg; ?></h4>
<h1>Foredeck@Admin</h1>
<h3>Entrer l'identifant et le mot de passe:</h3>
<input type = "text" class = "form-control"
name = "username" placeholder = "Identifiant "
required autofocus></br>
<input type = "password" class = "form-control"
name = "password" placeholder = "Mot de passe " required>
<br>
<button class = "btn btn-lg btn-primary btn-block" type = "submit"
name = "login">Se connecter</button>
</form>
</div>
</body>
这是注销部分
<?php
session_start();
unset($_SESSION["username"]);
unset($_SESSION["password"]);
echo 'Déconnexion en cours...';
header('Refresh: 2; URL = foredeckmain.php');
?>
说实话,我不明白你为什么要这样做,但无论如何。
但如果我是你,我会采取后续步骤
配置Apache/Nginx/or您的网站/通过默认页面处理您的所有请求(index.php 或类似的东西)
在index.php中您需要了解您的用户需要什么页面。如果不存在就给他看404页面。
- 如果页面存在但不是您的默认页面,并且用户之前没有访问过它,请将他重定向到那里。
在您的默认页面中,写入会话,例如
$_SESSION['passed_default'] = 1;
现在,在您的index.php中您需要检查
if(isset($_SESSION['passed_default']) && $_SESSION['passed_default']) { //Show desired page } else { //redirect to default }