php - страница не перенаправляет должным образом при успешном входе в систему - PullRequest
0 голосов
/ 27 июля 2011

Вот мой код: Я уже начал сеанс в верхней части страницы index.php `

if(isset($_POST['btsubmit'])){
    $username=$_POST['txtname'];
    $password=$_POST['txtpass'];
    $sql="SELECT * FROM tbuser WHERE AccountName='$username' AND Password='$password'";  
    $query=mysql_query($sql) or die(mysql_error());

    if($username="" or $password=""){
        echo"Your box is empty";
    }else{      
        if($row = mysql_fetch_array($query)){
            $_SESSION['AccountName']= $row['AccountName'];
            header("Location: welcome.php");
            exit();
        }else{
            echo "fail";
        }

    }
}                   

?> ` Когда я вхожу в систему, он не перенаправляет на страницу welcome.php, он остается на index.php таким же. Любая помощь будет оценена. Спасибо ..

Ответы [ 2 ]

5 голосов
/ 27 июля 2011

Я думаю, это из-за вашего условия if if($username="" or $password=""){ Это должно быть == вместо =. Из-за этого он никогда не переходит к остальной части кода. Alse, это твой настоящий код? Сначала вы делаете запрос к БД, а после этого проверяете, был ли введен пустой логин / пароль.

Вероятно, вам следует сначала проверить, не являются ли оба inpt пустыми, тогда вы должны сделать запрос, и если запрос успешен, то вы должны перенаправить на страницу приветствия.

1 голос
/ 27 июля 2011

Во-первых, Не используйте mysql_* функции в новом коде . Они больше не поддерживаются и официально устарели . Смотрите красное поле ? Узнайте вместо этого подготовленные операторы и используйте PDO или MySQLi - , эта статья поможет вам решить, какие именно. Если вы выбираете PDO, вот хороший урок .


Чтобы построить мой комментарий:

<?php
    $con=mysql_connect("localhost","root","");
     mysql_select_db("myphone",$con);

    if(isset($_POST['btsubmit'])){
        $username=(!empty($_POST['txtname']))?mysql_real_escape_string($_POST['txtname']):false;
        $password=(!empty($_POST['txtname']))?mysql_real_escape_string($_POST['txtpass']):false;
        if($username===false || $password===false){die('Username or password is blank!');}

        $sql="SELECT AccountName FROM tbuser WHERE AccountName='$username' AND Password='$password' LIMIT 1";  
        $query=mysql_query($sql);
        if(mysql_num_rows($query)==1){
            $row = mysql_fetch_assoc($query);
            $_SESSION['AccountName']=$row['AccountName'];
            $_SESSION['LoggedIn']=TRUE;
            header("Location: ./welcome.php");
            exit();
        }else{
             echo "Fail";
        }  
    }              
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...