doujiena0025 2015-07-26 11:22
浏览 56

会话php不工作

I built an Admin-login using sessions, however it doesn't work, it requests me to login again. It does not recognize the session.

What's wrong?

<!DOCTYPE HTML>
<html>
<head>
<?php
session_start();
include "../header.php";
echo $_SESSION['username'];
?>
<title></title>
</head>
<body dir="rtl">
<?php if(!isset($_SESSION['username'])) { ?>
<h1>כניסה לפאנל ניהול</h1>
<form action="index.php" method="post">
     <input name="adminName" placeholder="שם משתמש">
     <br>
     <input name="adminPass" placeholder="סיסמה">
     <br>
     <input type="submit" name="login" value="כניסה" class="btn btn-primary">
     </form>
     <br>
     <?php
     $username = $_POST['adminName'];
     $password = $_POST['adminPass'];

     if(isset($_POST['login'])) {
         $connect_db = mysql_connect("X", "X", "X");
         $select_db = mysql_select_db("X");
         $login_query = mysql_query("SELECT * FROM `X`.`admin_login` WHERE `Username` = '$username' and `Password` = '$password';");
         $login_num = mysql_num_rows($login_query);
         if($login_num == 1) {
             $da = mysql_query("SELECT * FROM `X`.`admin_login` WHERE `Username` = '".$_SESSION['username']."'");
             while($row = mysql_fetch_array($da)) {
                 $_SESSION['username'] = $username;
                 $_SESSION['name'] = $row['Name'];
                 $_SESSION['date'] = $row['Date'];
             }
             echo '<div class="alert alert-success">
                   <strong>הצלחה!</strong> התחברת בהצלחה לפנאל ניהול! <a href="index.php">רענן</a>
                 </div>';
         }
         else {
             echo '<div class="alert alert-warning">
                   <strong>שגיאה:</strong> שם המשתמש או הסיסמה אינם נכונים
                 </div>';
         }
     }
}
else if(isset($_SESSION['username'])) {
    echo 'ברוך הבא, '.$_SESSION['username'];
}
?>
<br>
</body>
</html>
  • 写回答

1条回答 默认 最新

  • dtrhd2850 2015-07-26 11:53
    关注

    You need to put session_start() before anything that produces output. So change the beginning of the script to:

    <?php 
    session_start();
    ?>
    <!DOCTYPE HTML>
    <html>
    <head>
    <?php
    include "../header.php";
    

    See How to fix "Headers already sent" error in PHP

    评论

报告相同问题?

悬赏问题

  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序