繁体   English   中英

如何使用 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');
?>

说实话,我不明白你为什么要这样做,但无论如何。

但如果我是你,我会采取下一步行动

  1. 配置 Apache/Nginx/或您正在使用的网站/通过您的默认页面(index.php 或类似内容)处理您的所有请求

  2. 在 index.php 中,您需要了解您的用户需要什么页面。 如果它不存在,则向他显示 404 页面。

  3. 如果页面存在并且它不是您的默认页面,并且用户之前没有访问过它,请将他重定向到那里。
  4. 在您的默认页面中,写入会话,例如$_SESSION['passed_default'] = 1;

  5. 现在,在你的 index.php 你需要检查

    if(isset($_SESSION['passed_default']) && $_SESSION['passed_default']) { //Show desired page } else { //redirect to default }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM