расположение заголовка не работает, но определенно передается - PullRequest
2 голосов
/ 30 марта 2012

К сожалению, мой скрипт проверки входа не перенаправляет туда, куда я говорю.Я знаю, что он правильно обращается к операторам if, потому что я добавил эхо, чтобы проверить, что это так.Он явно пропускает к заголовку, так как во время первого обстоятельства он повторяет "- заготовки", как это должно быть, а затем "Это вообще зашло так далеко?"

Так что на этом основании я знаю, что оно попадает в заголовок - это простоЯ просто игнорирую это, и я не могу понять, почему.

Я уверен, что это просто, и я упускаю что-то смехотворно очевидное, но я просто не могу этого увидеть.Любые предложения?

// makes sure they filled it in 
if($_POST['frmLogin-username'] == "" || $_POST['frmLogin-password'] == ""){
    echo " - blanks";

    header('Location: ?page=landing&action=login&message=1');
    echo "Did it even get this far?";
    die;
}
else{
    // checks it against the database
    $query = mysql_query("SELECT * FROM shops WHERE shopUsername = '".$_POST['frmLogin-username']."'");

    //Gives error if user dosen't exist
    $count = mysql_num_rows($query);

    if ($count == "0"){
        echo " - no user";
        header('Location: ?page=landing&action=login&message=2');
        die;
    }
    else{

        while($row = mysql_fetch_array( $query )){

            //gives error if the password is wrong

            if ($_POST['frmLogin-password'] != $row['shopPassword']){
                echo " - wrong pass";
                header('Location: ?page=landing&action=login&message=3');
                die;
            }

            else{

                // if login is ok then we add a cookie

                $hour = time() + 3600;

                setcookie(shopusername, $_POST['frmLogin-username'], $hour);
                setcookie(shopid, $row['shopId'], $hour);

                //then redirect them to the shop panel
                header("Location: ?page=shop");
                die;
            }
        }
    }
}

РЕДАКТИРОВАТЬ: проблема была связана с тем, как я загружаю все свои страницы в index.php, вызывая включает в себя, который я сейчас расследую, я перемещаю эту страницу процесса в свой собственный файл phpи теперь он отлично работает

Ответы [ 3 ]

2 голосов
/ 04 апреля 2012

Проблема заключалась в том, как я загружаю все свои страницы в index.php путем вызова включений, которые я сейчас изучаю. Я переместил эту страницу процесса в свой собственный файл php, и теперь он работает нормально

2 голосов
/ 30 марта 2012

Прежде всего: вы не можете отправлять заголовки после вывода чего-либо, используя echo, как сказал Сэм в своем комментарии.

Во-вторых, чтобы отправить перенаправление, URL после Location: должен быть абсолютнымкак http://localhost/page/to/redirect/to.php.

РЕДАКТИРОВАТЬ
Корбин фактически бил меня до моего ответа в течение примерно 10 секунд; -)

1 голос
/ 30 марта 2012

Вы можете использовать window.location, просто echo в PHP.

...