recherche

Maison  >  Questions et réponses  >  le corps du texte

Script de connexion PHP utilisant des variables de session et de session

<p>Je viens de terminer un système complet de connexion et d'enregistrement en PHP, mais mon problème est que je n'ai encore utilisé aucune session. Je suis nouveau sur PHP et je n'ai jamais utilisé de sessions auparavant. Ce que je veux faire, c'est qu'une fois que l'utilisateur s'est inscrit et a rempli le formulaire de connexion, il reste toujours sur la même page. Ainsi, une partie de la page le sera si la session est connectée et l'autre partie le sera autrement (l'utilisateur n'est pas connecté donc le formulaire de connexion est affiché). Quelqu'un peut-il me dire par où commencer ? </p>
P粉726133917P粉726133917462 Il y a quelques jours487

répondre à tous(2)je répondrai

  • P粉573809727

    P粉5738097272023-08-22 13:18:23

    Il s'agit du code de session le plus simple écrit en PHP. Nous avons utilisé 3 fichiers.

    login.php

    <?php  session_start();   // 使用此函数启动会话
    
    
    if(isset($_SESSION['use']))   // 检查会话是否已存在,如果存在则直接重定向到主页
     {
        header("Location:home.php"); 
     }
    
    if(isset($_POST['login']))   // 检查用户是否点击了登录按钮
    {
         $user = $_POST['user'];
         $pass = $_POST['pass'];
    
          if($user == "Ank" && $pass == "1234")  // 用户名默认为“Ank”,密码默认为1234
             {                                   
    
              $_SESSION['use']=$user;
    
    
             echo '<script type="text/javascript"> window.open("home.php","_self");</script>';            // 登录成功后重定向到home.php
    
            }
    
            else
            {
                echo "无效的用户名或密码";        
            }
    }
     ?>
    <html>
    <head>
    
    <title> 登录页面   </title>
    
    </head>
    
    <body>
    
    <form action="" method="post">
    
        <table width="200" border="0">
      <tr>
        <td>  用户名</td>
        <td> <input type="text" name="user" > </td>
      </tr>
      <tr>
        <td> 密码  </td>
        <td><input type="password" name="pass"></td>
      </tr>
      <tr>
        <td> <input type="submit" name="login" value="登录"></td>
        <td></td>
      </tr>
    </table>
    </form>
    
    </body>
    </html>

    home.php

    <?php   session_start();  ?>
    
    <html>
      <head>
           <title> 主页 </title>
      </head>
      <body>
    <?php
          if(!isset($_SESSION['use'])) // 如果会话未设置,则重定向到登录页面
           {
               header("Location:Login.php");  
           }
    
              echo $_SESSION['use'];
    
              echo "登录成功";
    
              echo "<a href='logout.php'> 退出</a> "; 
    ?>
    </body>
    </html>

    logout.php

    <?php
     session_start();
    
      echo "成功退出";
      session_destroy();   // 销毁会话
      header("Location: Login.php");
    ?>

    répondre
    0
  • P粉348088995

    P粉3480889952023-08-22 12:03:57

    Pour démarrer une session, vous devez le dire en haut de la page ou avant d'appeler le code de session

    session_start();

    Mettez l'ID utilisateur en session pour savoir qui est connecté

    $_SESSION['user'] = $user_id;

    Vérifiez si quelqu'un est connecté

    if (isset($_SESSION['user'])) {
       // 已登录
     } else {
       // 未登录
     }

    Trouver l'ID de l'utilisateur connecté

    $_SESSION['user']

    Sur votre page

    <?php
     session_start();
    
    
     if (isset($_SESSION['user'])) {
     ?>
       已登录的HTML和代码在这里
     <?php
    
     } else {
       ?>
       未登录的HTML和代码在这里
       <?php
     }

    répondre
    0
  • Annulerrépondre