标题位置不在服务器PHP上工作尝试

时间:2017-01-31 05:23:15

标签: php redirect

嗨朋友们试图在用户使用heade位置登录后重定向页面,但是无法正常工作无法理解原因...

这是代码..

<?php include "config.php"; ?>
 <?php session_start(); 
   error_reporting(0);
  ini_set('display_errors', 0);
    if(isset($_SESSION['username'])){
   header("Location: user_details.php");
   }
 ?>

这是我用PHP登录的html

 <html>
    <head>
     </head>
       <body>
           <div id="form">
              <form action="" method="POST">
              <div class="login-block">
        <h1>Login</h1>
        <input type="text" value="" placeholder="Username" id="username" name="user"/>
        <input type="password" value="" placeholder="Password" id="password" name="pass"/>
        <button type="submit" id="btn" value="Login" name="login">Submit</button>
         <?php
            if(isset($_POST['login']))
               {
                  $username=$_POST['user'];
                  $password=$_POST['pass'];
                  $username=mysqli_real_escape_string($conn,$username);
                  $password=mysqli_real_escape_string($conn,$password);
                  $password=md5(mysqli_real_escape_string($conn,$password));
                  $query="SELECT * FROM user WHERE username = '{$username}' and password='{$password}'";
                  $select_user_query=mysqli_query($conn,$query);
                  if(!$select_user_query)
                       {
                          die("Connection failed".mysqli_error($conn));
                       }
                while($row=mysqli_fetch_array($select_user_query))
                    {
                       $db_user_id=$row['id'];
                       $_SESSION['username']=$row['username'];
                       $db_user_email=$row['email'];
                       $db_user_password=$row['password'];
                     }
                if($username ===  $_SESSION['username'] && $password ===$db_user_password)
                    {
                       header("location: titles.php");
                     }

                  else
                 {
                     echo "<p style='color:#FF7B81'> enter correct username and password <p>";
                  }
                }
         ?>
    </div>
  </form>
</div>

任何人都可以帮助我如何重定向。我已经在heade位置之后使用了echo语句,我只在位置

中尝试了'L'和'l'

3 个答案:

答案 0 :(得分:0)

此行永远不会有效:

   header("location: titles.php");

因为必须在任何形式的输出之前发送标头。通常的做法是将isset($ _ POST ['submit'])放在HTML块上方,并分配您可能希望放入HTML以供以后使用的变量。

尝试重新格式化代码:

<?php
        if(isset($_POST['login']))
           {
              $username=$_POST['user'];
              $password=$_POST['pass'];
              $username=mysqli_real_escape_string($conn,$username);
              $password=mysqli_real_escape_string($conn,$password);
              $password=md5(mysqli_real_escape_string($conn,$password));
              $query="SELECT * FROM user WHERE username = '{$username}' and password='{$password}'";
              $select_user_query=mysqli_query($conn,$query);
              if(!$select_user_query)
                   {
                      die("Connection failed".mysqli_error($conn));
                   }
            while($row=mysqli_fetch_array($select_user_query))
                {
                   $db_user_id=$row['id'];
                   $_SESSION['username']=$row['username'];
                   $db_user_email=$row['email'];
                   $db_user_password=$row['password'];
                 }
            if($username ===  $_SESSION['username'] && $password ===$db_user_password)
                {
                   header("location: titles.php");
                 }

              else
             {
                 $error = "<p style='color:#FF7B81'> enter correct username and password <p>";
              }
            }
     ?>

<html>
<head>
 </head>
   <body>
       <div id="form">
          <form action="" method="POST">
          <div class="login-block">
    <h1>Login</h1>
    <input type="text" value="" placeholder="Username" id="username" name="user"/>
    <input type="password" value="" placeholder="Password" id="password" name="pass"/>
    <button type="submit" id="btn" value="Login" name="login">Submit</button>
<?PHP if(isset($error)){ echo $error; } ?>
</div>

您还需要致电:

session_start() 

然后才能分配任何会话变量。

答案 1 :(得分:0)

 <html>
    <head>
     </head>
       <body>
           <div id="form">
              <form action="" method="POST">
              <div class="login-block">
        <h1>Login</h1>
        <input type="text" value="" placeholder="Username" id="username" name="user"/>
        <input type="password" value="" placeholder="Password" id="password" name="pass"/>
        <button type="submit" id="btn" value="Login" name="login">Submit</button>
         <?php
            if(isset($_POST['login']))
               {
                  $username=$_POST['user'];
                  $password=$_POST['pass'];
                  $username=mysqli_real_escape_string($conn,$username);
                  $password=mysqli_real_escape_string($conn,$password);
                  $password=md5(mysqli_real_escape_string($conn,$password));
                  $query="SELECT * FROM user WHERE username = '{$username}' and password='{$password}'";
                  $select_user_query=mysqli_query($conn,$query);
                  if(!$select_user_query)
                       {
                          die("Connection failed".mysqli_error($conn));
                       }
                while($row=mysqli_fetch_array($select_user_query))
                    {
                       $db_user_id=$row['id'];
                       $_SESSION['username']=$row['username'];
                       $db_user_email=$row['email'];
                       $db_user_password=$row['password'];
                     }
                if($username ===  $_SESSION['username'] && $password ===$db_user_password)
                    {
                       //header("location: titles.php");
                   echo "<script>window.location.href='titles.php'</script>";
                     }

                  else
                 {
                     echo "<p style='color:#FF7B81'> enter correct username and password <p>";
                  }
                }
         ?>
    </div>
  </form>
</div>

答案 2 :(得分:-2)

  

试试这个

你必须开始对象。

// Add this start of file after <?php
ob_start();