php - 登录实时服务器时出现 CSS 和导航栏问题

标签 php html css

我的网站看起来like this登录后,没有任何导航栏或CSS。 它应该包含我的 header2.php 文件,其中包含我的导航栏和我的 css 应该可以正常工作。

下面是我的 login.php 代码:

<?php

ob_start();

if (!isset($_POST['submit'])) {
   header("Location: /../index.php?login=error");
   exit();
} else {
     include_once __DIR__.'/dbh.php';
     include_once __DIR__.'/../header2.php';




     $uid =  strip_tags($_POST['uid']);
     $pwd =  strip_tags($_POST['password']);


$date = date("Y-m-d H:i:s");

            $sql = "UPDATE users
                     SET user_session = ?
                     WHERE user_uid = ?;
                      ";
                            $stmt = mysqli_stmt_init($conn);
                            //Prepare the prepared statement
                            if (!mysqli_stmt_prepare($stmt, $sql)) {
                                echo 'SQL statement failed';
                            } else {
                                 //Bind parameters to the placeholder
                                 mysqli_stmt_bind_param($stmt, "ss", $date, $_SESSION['u_uid']);
                                 //Run parameters inside database
                                 mysqli_stmt_execute($stmt);

      // include error handlers:
      // Check to see if the inputs are empty

     //Check to see if user has activated his or her account before logging in








              $user_activate = 0;




      if(empty($uid) || empty($pwd)) {
        echo "<meta http-equiv='refresh' content='0;url=../signup.php?signup=empty'>"; 
        exit();
      } else {

        // Check to see if user has activated his or her account

        $sql = "SELECT * FROM users WHERE user_activate = ? AND user_uid= ?;";

       $stmt = mysqli_stmt_init($conn);
                            //Prepare the prepared statement
       if (!mysqli_stmt_prepare($stmt, $sql)) {
         echo 'SQL statement failed';
       } else {
       //Bind parameters to the placeholder
      mysqli_stmt_bind_param($stmt, "is", $user_activate, $uid);
      //Run parameters inside database
      mysqli_stmt_execute($stmt);
      $result = mysqli_stmt_get_result($stmt);
      $resultCheck = mysqli_num_rows($result);


    if($resultCheck > 0) {
      echo "<meta http-equiv='refresh' content='0;url=/../index.php?signup=notactivated'>"; 
       exit();
       } else {


        // Check to see if the username exists in the database

        $sql = "SELECT * FROM users WHERE user_uid = ? OR user_email = ?";
        $stmt = mysqli_stmt_init($conn);
       //Prepare the prepared statement
       if (!mysqli_stmt_prepare($stmt, $sql)) {
          echo 'SQL statement failed';
        } else {
      //Bind parameters to the placeholder
      mysqli_stmt_bind_param($stmt, "ss", $uid, $uid);
      //Run parameters inside database
      mysqli_stmt_execute($stmt);
       $result = mysqli_stmt_get_result($stmt);
       $resultCheck = mysqli_num_rows($result);



        if ($resultCheck < 1) {

        echo "<meta http-equiv='refresh' content='0;url=/../index.php?login=notsignup'>";
          exit();
        } else {
             // Does the password match the password in the database?
       // while($row = mysqli_fetch_assoc($result));
          if ($row = mysqli_fetch_assoc($result)) { // insert database results into an array
            // De-hasing the password
            $hashedPwdCheck = password_verify($pwd, $row['user_password']);
            if ($hashedPwdCheck == false) {
              $login_attempts = $row['login_attempts'];
              $login_attempts += 1;

               $sql2 = "UPDATE users
                        SET login_attempts = ?
                        WHERE user_uid = ?;

                       ";

              if (!mysqli_stmt_prepare($stmt, $sql2)) {
          echo 'SQL statement failed';
        } else {
      //Bind parameters to the placeholder
      mysqli_stmt_bind_param($stmt, "is", $login_attempts, $uid);
      //Run parameters inside database
      mysqli_stmt_execute($stmt);

      if ($row['login_attempts'] == 5) {
          $login_attempts = 0;
          $user_activate = 0;
          $token = 'qqewreqreqwsdfdfdafcbvcQERFGHFGHGFHRETERTDF!@#$%^^()';
          $token = str_shuffle($token);
          $token = substr($token, 0, 10);

          $sql3 = "UPDATE users
                   SET user_activate = ?, user_token = ?, login_attempts = ?
                   WHERE user_uid = ?;

                  ";

              if (!mysqli_stmt_prepare($stmt, $sql3)) {
          echo 'SQL statement failed';
        } else {
      //Bind parameters to the placeholder
      mysqli_stmt_bind_param($stmt, "isis", $user_activate, $token, $login_attempts, $uid);
      //Run parameters inside database
      mysqli_stmt_execute($stmt);


     $company = "pianocourse101@hotmail.com";
     $subject = "Account temporary deactivated due to fail login attempts";
     $mailTo = $row['user_email'];
     $headers = "From: ".$company;
     $txt = "Dear".$row['user_first']."".$row['user_last'].", \n\nYour account has been temporary deactivated because either you or someone claiming to be you has failed to log into your account on more than 5 occasions! \n\n You can use the following information to reactivate your account: \n\n Your new token: ".$token."\n\nYou can either copy and paste the token into the relevant section or click on the following link: http://localhost/loginsystem/includes/activate.php?email=".htmlspecialchars($row['user_email'])."&activatetoken=".htmlspecialchars($token);

     mail($mailTo, $subject, $txt, $headers);



      }
    }


               echo "<meta http-equiv='refresh' content='0;url=/../index.php?login=passwordfailed'>";
                exit();
              }


            } elseif ($hashedPwdCheck == true) {
                   // Log in the user here



              $_SESSION['u_id'] = $row['user_id']; 
              $_SESSION['u_first'] = $row['user_first'];   
              $_SESSION['u_last'] = $row['user_last'];   
              $_SESSION['u_email'] = $row['user_email'];
              $_SESSION['u_uid'] = $row['user_uid'];  
              $_SESSION['u_permission'] = $row['admin'];
              $_SESSION['u_moderator'] = $row['moderator'];
              $_SESSION['u_session'] = $row['user_session'];
              $_SESSION['freelesson'] = $row['freelesson']; 
              $_SESSION['datejoined'] = $row['datejoined'];
              $_SESSION['premium'] = $row['premium'];

              // Insert into reward points when login



              // Select names from rewards

              $sql2 = "SELECT * FROM rewards WHERE user_uid = ?;";

              $stmt = mysqli_stmt_init($conn);
       //Prepare the prepared statement
       if (!mysqli_stmt_prepare($stmt, $sql2)) {
          echo 'SQL statement failed';
        } else {
      //Bind parameters to the placeholder
      mysqli_stmt_bind_param($stmt, "s", $uid);
      //Run parameters inside database
      mysqli_stmt_execute($stmt);
       $result2 = mysqli_stmt_get_result($stmt);
       $resultCheck2 = mysqli_num_rows($result2);

       while ($row2 = mysqli_fetch_assoc($result2)) {



              $_SESSION['u_reward_points'] = $row2['reward_points'];

               $points = 100;
              $_SESSION['u_reward_points'] += $points;


              $sql = "UPDATE rewards
                      SET reward_points = ?
                      WHERE user_uid = ?;

                     ";

               $stmt = mysqli_stmt_init($conn);
       //Prepare the prepared statement
       if (!mysqli_stmt_prepare($stmt, $sql)) {
          echo 'SQL statement failed';
        } else {
      //Bind parameters to the placeholder
      mysqli_stmt_bind_param($stmt, "is", $_SESSION['u_reward_points'], $_SESSION['u_uid']);
      //Run parameters inside database
      mysqli_stmt_execute($stmt);



                echo "<meta http-equiv='refresh' content='0;URL=/../header2.php?login=success' />" ;  
                exit();

            }

          }
        }

      }

}

}
}
}
}
}
}
}

ob_end_flush();

enter image description here

最佳答案

如果从外部文件加载,请确保正确加载 CSS 文件。

始终在启用 PHP Error Reporting 的情况下调试脚本!

在浏览器中的最终输出你可以看到源代码——通常是Ctrl+U,或者你可以使用Developers tools调试——通常右键单击页面并执行 Inspect element Ctrl+Shift+I - Network 选项卡可能会显示一些错误,在 Console 选项卡等中也是如此。

两者都应该帮助您识别编码中有问题的部分。

关于php - 登录实时服务器时出现 CSS 和导航栏问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53569727/

相关文章:

javascript - Bootstrap 响应表单击以展开 div 不起作用

javascript - 根据变量更改图像源

HTML 背景/布局

html - 在可点击图像的 Web 画廊中自动循环颜色

css - 当屏幕尺寸小于 MQ 时,默认 CSS 被媒体查询覆盖

javascript - 检查网站是否通过 Iframe 加载

php - 如何使用 PHPMyAdmin 在 PHP 中添加多个评论框?

css - 包含多行的 HTML header

PHP 从数据库中以逗号分隔的字符串形式导出值

php - fatal error : Uncaught Error: Class 'Omnipay\Omnipay' not found