PHP заголовок и обновление не работает - PullRequest
1 голос
/ 31 мая 2011

Мой сервер работает в PHP 5.2.9 , когда я использую функции refresh и header , это не работает.Вот мой код

header("location: index.php");

header( "Refresh: 0;" );

Ранее я работал на другом сервере, он работает правильно.Как я могу решить эту проблему?

это мой полный код

if($_POST['sign_in'])
{
    $email = $_POST['email'];
    $password = $_POST['password'];
    $sql = "SELECT * FROM tbl_members WHERE m_email='$email' and m_password='$password'";
    $res = mysql_query($sql);
    $count = mysql_num_rows($res);
    if($count==1)
    {
        session_register("email");
        header("location: index.php");
    }
    else
    {
        $sql = "SELECT * FROM tbl_temp_members WHERE email='$email'";
        $res = mysql_query($sql);
        $count = mysql_num_rows($res);
        if($count==1)
        {
            echo "Login unsuccessful,Account still not activated";  
        }
        else
        {
            echo "Login unsccessful";
        }
    }
}

Ответы [ 3 ]

5 голосов
/ 31 мая 2011

Location и Refresh для обоих требуется абсолютный URI (и это «Location» вместо «location»).

Попробуйте это:

header('Location: http://absolute.uri/file.ext');

Еслиэто не помогает, проверьте мой ответ на любую "странную" проблему PHP ;)

3 голосов
/ 31 мая 2011

Зависит от того, что вы пытаетесь сделать.Вы пытаетесь вызвать перенаправление?Если это так, вы можете просто использовать header('Location: <a href="http://www.example.com/" rel="nofollow">http://www.example.com/</a>');, но если вы хотите обновить через определенное время, вы можете использовать:

header( "refresh:5;url=wherever.php" ); 
echo 'You\'ll be redirected in about 5 secs. ';
echo 'If not, click <a href="wherever.php">here</a>.';

Получил пример кода из - http://php.net/manual/en/function.header.php -может быть, стоит прочитать тоже.

1 голос
/ 31 мая 2011

(1) вам не нужен заголовок обновления, если у вас есть местоположение, одно

(2) добавьте exit; в конце

Второй особый случайзаголовок "Location:".Он не только отправляет этот заголовок обратно в браузер, но также возвращает код состояния REDIRECT (302) в браузер, если код состояния 201 или 3xx уже был установлен.

<?php
header("Location: http://www.example.com/"); /* Redirect browser */

/* Make sure that code below does not get executed when we redirect. */
exit;
?>
...