代码之家  ›  专栏  ›  技术社区  ›  John_Cartor

PHP登录(会话问题)

  •  -2
  • John_Cartor  · 技术社区  · 8 年前

    我的MYSQL PHP是正确的,但当我登录时,页面 检查php 登录时重定向我。再次翻页。用于验证页面重定向我使用 *?session* 在URL中。可能是因为我的会话未激活。怎样即使所有标记都已更正。

    还有其他问题吗?请帮忙。

    提前谢谢。!!!

    登录页面

    <?php 
    
    error_reporting(E_ALL);
    ini_set("display_errors", 1);
    session_start(); 
    
    if (isset($_SESSION["Mobile"]) && isset($_SESSION["LoggedIn"])) 
     {  
    header("Location: index.php"); 
    exit();
     }  
    if (isset($_POST["submit"]))
     {  
    $connection = new mysqli("localhost", "id4915357_regis", "Demo@1653", "id4915357_reg");
    
    if ($data->num_rows > 0)
     {  
    $_SESSION["Mobile"] = $Mobile; 
    $_SESSION["loggedIn"] = 1;  
    header ("Location: index.php"); 
    exit();
     } else { 
    echo "<script>alert(' Invalid Credentials')</script>";  
     } 
     }  
    
    ?> 
    

    指数PHP

    <!DOCTYPE html> 
    <html lang="en-US"> <head>
    <title>MyWebsite</title>
    <meta charset="utf-8"/>
    </head>
    <body> <form action="login.php" method="post">
    <input type="text" name="Mobile" placeholder="Mobile" value="1234567890"/>
    <input type="text" name="Password" placeholder="Passwors"/>
    <input type="submit" name="submit" value="Log In"/>
    </form>
    </body>
    </html>
    

    检查PHP

    <?php 
    
    session_start();    
    if (!isset($_SESSION["Mobile"]) || !isset($_SESSION["LoggedIn"]))
       {            
     header("Location: login.php?session");
        exit(); 
       }
    ?> 
    
    2 回复  |  直到 6 年前
        1
  •  2
  •   Lavkush Gupta    8 年前

    这个 session_start() 功能必须是文档中的第一件事。在任何HTML标记之前。 页面应保存为 .php 扩大

        2
  •  0
  •   Karlo Kokkak    8 年前

    会话\u开始() 应该在代码的最顶端。你 should not output anything before calling it 否则它将失败。同样适用于 setcookie() 标题();

    看看您的代码,我认为如果您将php块移动到html内容的顶部会更好。

    推荐文章