重定向提交按钮(登录页面)

时间:2015-08-19 11:33:57

标签: php redirect login

我有点问题。我有一个带提交按钮的登录框,但我无法重定向到另一个页面。我插入了电子邮件和密码,但它不起作用,它只停留在第一页。我该怎么办?

我用这个:

header("Location: home.php");

这是我的代码:

<?php session_start();
    include_once 'dbconnect.php';
    if(isset($_SESSION['user'])!="") {
        header("Location: home.php");
    }
    if(isset($_POST['btn-login'])) {
    $email = mysql_real_escape_string($_POST['email']);
    $upass = mysql_real_escape_string($_POST['pass']);
    $res=mysql_query("SELECT * FROM users WHERE email='$email'");
    $row=mysql_fetch_array($res);
    if($row['password']==md5($upass)) {
        $_SESSION['user'] = $row['user_id'];
        header("Location: home.php");
    } else {
?>
<script>alert('wrong details');</script>
<?php } } ?> 

4 个答案:

答案 0 :(得分:1)

首先isset($_SESSION['user'])返回布尔值:truefalse而不是“”,因此您必须使用if(isset($_SESSION['user']) && $_SESSION['user']!="")

其次,所有mysql_*函数都已取消重新创建。

也不要混用PHP和JS代码。

答案 1 :(得分:1)

<?php session_start();
include_once 'dbconnect.php';
if(isset($_SESSION['user']) && $_SESSION['user']!='') {
    header("Location: home.php");
}
if(isset($_POST['btn-login'])) {
  $email = mysql_real_escape_string($_POST['email']);
  $upass = mysql_real_escape_string($_POST['pass']);
  $res=mysql_query("SELECT * FROM users WHERE email='$email'");
  $row=mysql_fetch_array($res);
  $_SESSION['user']='we have pw';
  if( $row['password']==md5($upass) ) {

      $_SESSION['user'] = $row['user_id'];
      header("Location: home.php");
} else {?>
      <script>alert('wrong details');</script>
 

你的密码是否转换为md5? 在这一行应该是问题。 提及:如果这是你的home.php那么它会整天重定向。

答案 2 :(得分:0)

更改此

header("Location: home.php");

echo "<script>window.location.assign("home.php")</script>";

答案 3 :(得分:-1)

试试这个:

<?php session_start();
include_once 'dbconnect.php';
if(isset($_SESSION['user'])!="") {
    header("Location: home.php");
}
if(isset($_POST['btn-login'])) {
$email = mysql_real_escape_string($_POST['email']);
$upass = mysql_real_escape_string($_POST['pass']);
$res=mysql_query("SELECT * FROM users WHERE email='$email' AND password= 'md5($upass)' ");
$row=mysql_fetch_array($res);
if($row) {
    $_SESSION['user'] = $row['user_id'];
    header("Location: home.php");
} else {
?>
 <script>alert('wrong details');</script>


<?php }} ?>