2014-09-02 161 views
0

我有一个登录页面,用户在成功登录到他们的帐户后被重定向到profile.php页面。但是,如果我们希望将它们重定向到index.html页面,只需单击登录按钮而不输入值或输入了错误的值。我尝试使用header("location: index.html");,但它没有奏效。 任何人都可以告诉我怎么做。从一个页面重定向到另一个php

登录表单页面是:

<form role="form" action="login.php" method="post"> 
    <div class="form-group"> 
     <label for="exampleInputEmail1">Email</label> 
     <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email" name="email"> 
    </div> 

    <div class="form-group"> 
     <label for="exampleInputPassword1">Password</label> 
     <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password" name="password"> 
    </div> 
    <input name="submit" type="submit" value=" Login ">    
</form> 

的login.php页面

<?php 
    session_start(); // Starting Session 
    $error=''; // Variable To Store Error Message 
    if (isset($_POST['submit'])) { 
     if (empty($_POST['email']) || empty($_POST['password'])) { 
      $error = "email or Password is invalid"; 
     } 
     else 
     { 
      // Define $email and $password 
      $email=$_POST['email']; 
      $password=$_POST['password']; 
      // To protect MySQL injection for Security purpose 
      $email = stripslashes($email); 
      $password = stripslashes($password); 
      $email = mysql_real_escape_string($email); 
      $password = mysql_real_escape_string($password); 

      //Establishing Connection with Server by passing server_name, user_id and password as a parameter 
      $connection = mysql_connect("abc.com", "abc", "abc"); 
      // Selecting Database 
      $db = mysql_select_db("abc", $connection); 
      // SQL query to fetch information of registerd users and finds user match. 
      $query = mysql_query("select * from users where password='$password' AND email='$email'", $connection); 
      $rows = mysql_num_rows($query); 

      if ($rows == 1) { 
       $_SESSION['login_user']=$email; // Initializing Session 
       header("location: profile.php"); // Redirecting To Other Page 
      } else { 
       $error = "email or Password is invalid"; 
       header("location: index.html"); 
      } 

      mysql_close($connection); // Closing Connection 
     } 
    } 
?> 

回答

1
<?php 
session_start(); // Starting Session 

if (isset($_POST['submit'])) { 
    try { 
     if (empty($_POST['email']) || empty($_POST['password'])) { 
      throw new Exception("email or Password is invalid"); 
     } else { 
      // Define $email and $password 
      $email  = $_POST['email']; 
      $password = $_POST['password']; 
      // To protect MySQL injection for Security purpose 
      $email  = stripslashes($email); 
      $password = stripslashes($password); 
      $email  = mysql_real_escape_string($email); 
      $password = mysql_real_escape_string($password); 
      //Establishing Connection with Server by passing server_name, user_id and password as a parameter 
      $connection = mysql_connect("abc.com", "abc", "abc"); 
      // Selecting Database 
      $db   = mysql_select_db("abc", $connection); 
      // SQL query to fetch information of registerd users and finds user match. 
      $query  = mysql_query("select * from users where password='$password' AND email='$email'", $connection); 
      $rows  = mysql_num_rows($query); 

      if ($rows != 1) 
       throw new Exception("email or Password is invalid"); 

      $_SESSION['login_user'] = $email; // Initializing Session 
      header("location: profile.php"); // Redirecting To Other Page 
      mysql_close($connection); // Closing Connection 
     } 
    } 
    catch (Exception $e) { 
     $_SESSION['login_error'] = $e->getMessage(); 
     header("Location: index.html"); 
    } 
} 
?> 

您可以收到您的login_error throught $ _SESSION [ 'login_error']

+0

谢谢你完美工作 – 2014-09-02 05:00:23

0

如果你的两个领域是空白的,你不重定向任何地方所以尝试后也添加页眉$error

if (empty($_POST['email']) || empty($_POST['password'])) { 
    header("location: index.html"); 
} 

此外,如果你重定向的HTML页面,不需要使用$错误,因为你不能得到PHP在html页面上变量。

+0

它是不工作,也影响路径到profile.php – 2014-09-02 04:47:57

+0

没有得到它会如何影响 – 2014-09-02 04:50:20

0
// Change you conditional statement like ... 
if (empty($_POST['email']) || empty($_POST['password'])) { 
    header("location: index.html"); 
    exit(0); 
} 
+0

它不会影响我的路径profile.php。我试过使用它,但它不允许我登录或重定向到正确的页面 – 2014-09-02 04:47:12

0

我试着用你的代码并修改它一下它的工作对我罚款

session_start(); // Starting Session 
$error=''; // Variable To Store Error Message 
if (isset($_POST['submit'])) { 
if (empty($_POST['email']) || empty($_POST['password'])) { 
    header("location: index.html"); 
    exit(0); 
} // ..... and so on 
相关问题