登录不工作PHP MySQL

登录不工作PHP MySQL,php,Php,我正在尝试修复我的登录页面 它在login.php上可以重定向,但在索引上即使会话为空也不会重定向。有什么建议吗?我是新来的,所以请原谅我,如果这是很明显的 <?php require_once('../includes/config.php'); session_start(); if(!isset($_SESSION['loggedin']) && $_SESSION['loggedin']=='no'){ // not logged in

我正在尝试修复我的登录页面

它在login.php上可以重定向,但在索引上即使会话为空也不会重定向。有什么建议吗?我是新来的,所以请原谅我,如果这是很明显的

 <?php
 require_once('../includes/config.php');
 session_start();
 if(!isset($_SESSION['loggedin']) && $_SESSION['loggedin']=='no'){
      // not logged in
      header("location: login.php");
      exit();
 } else {
      $_SESSION['loggedin'] = 'yes';
 }
 ?>
 <?php

 include("../includes/config.php");
 $error = NULL;
 $atmpt = 1;

 if (!isset($_SESSION)) {
      session_start();
 }

 if(isset($_SESSION['loggedin']) && $_SESSION['loggedin']=='yes'){
      // logged in
      header("location: index.php");
      exit();
 }

 if(isset($_POST['login']))
 {

 /* get username and password */
 $username = $_POST["username"];
 $password = $_POST["password"];

 /* MySQL Injection prevention */
 $username = mysqli_real_escape_string($mysqli, stripslashes($username));
 $password = mysqli_real_escape_string($mysqli, stripslashes($password));

 /* check for user in database */
 $query = "SELECT * FROM admin_accounts WHERE username = '$username' AND password =      '$password'"; // replace "users" with your table name
 $result = mysqli_query($mysqli, $query);
 $count = $result->num_rows;
 if($count > 0){
      //successfully logged in
      $_SESSION['username']=$username;
      $_SESSION['loggedin']='yes';
      $error .= "<div class='alert alert-success'>Thanks for logging in! Redirecting      you..</div>";
      header("refresh:1;url=index.php");
 } else {
      // Login Failed
      $error .=  "<div class='alert alert-danger'>Wrong username or password..</div>";
      $_SESSION['loggedin']='no';
      $atmpt = 2;
 }
 } 

 ?>

线路

session_start();

应该是php脚本的第一行。

只需修改前三行即可

As
session\u start()
应在将任何输出放在浏览器上(甚至空间)之前放置


如果{}
如果(!isset($\u SESSION['loggedin'])和&$\u SESSION['loggedin']='no'){
没有设置,
$\u SESSION['loggedin']
就没有逻辑了。如果没有设置
$\u SESSION['loggedin']
,那么它怎么能等于
否呢?既然您已经使用了
SESSION start()早期,不需要再调用它。为什么要检查文件中间存在的会话。从第一个条件中删除感叹号。是否是多个文件或一个脚本的代码示例组合?如果是多个,请分开并正确地标记。在登录失败的情况下,需要重定向来登录页面。
<?php    
session_start();
require_once('../includes/config.php');
if (empty($_SESSION['loggedin']) && $_SESSION['loggedin']=='no') {