0

Залил сайт на хостинг, и сразу же столкнулся с такой проблемой, как нерабочий header(), хотя на локальном сервере он работал исправно. Если я не ошибаюсь, то синтаксис правильный. страница на которую я хочу перейти находится в той же директории.

            <?php
                if ( !empty($pwd) && !empty($email) ) {
                    $stmt = $dbh->prepare('SELECT id, email, password FROM users WHERE email = :email'); //Добавили id, для перенаправления на личную страницу
                    $stmt->bindParam(':email', $email);
                    $stmt->execute();
                $user_p = $stmt-&gt;fetch(PDO::FETCH_OBJ);

                if ($user_p){
                    if(password_verify($pwd, $user_p-&gt;password)){
                        $_SESSION['id'] = $user_p-&gt;id;
                        header('Location: office.php?id='. $_SESSION['id']);
                        //$office = &quot;office.php?id=&quot;. $_SESSION['id'];
                        //header('Location: $office');
                    }else{
                        echo '&lt;p class=&quot;wrong&quot;&gt;Неверный Email или пароль&lt;/br&gt;Если Вы не зарегестрированы&lt;/p&gt;';
                        echo '&lt;a href=&quot;registration.php&quot; class=&quot;reg&quot;&gt;Зарегестрироваться&lt;/a&gt;';
                    }
                }else{
                    echo '&lt;p class=&quot;wrong&quot;&gt;Неверный Email или пароль&lt;/br&gt;Если Вы не зарегестрированы&lt;/p&gt;';
                    echo '&lt;a href=&quot;registration.php&quot;&gt;Зарегестрироваться&lt;/a&gt;';
                }
            }else{
                echo '&lt;p class=&quot;noValues&quot;&gt;Пожалуйста, заполните все поля&lt;/p&gt;';
            }                
    ?&gt;

Подскажите пожалуйста решение проблемы. Уже второй вечер сижу.

UPD

Если прописываю так:

header('Location: /index.html');

Всё равно не срабатывает.

  • Ошибка какая-то есть? – Dmitriy Jul 28 '20 at 14:57
  • При редиректе укажите полный урл т.е //domain.ru/office.php?id='. $_SESSION['id'] – Arsen Jul 28 '20 at 16:07
  • 1
    Перед <?php не должно быть никаких символов (в том числе отступов). т.к. это идет сразу на вывод на страницу. header() должен использозваться до любого вывода. – Knyaz71 Jul 28 '20 at 22:13
  • @Dmitriy к сожалению нету ошибок. А Нотайсы я отключил. – Вячеслав Jul 29 '20 at 14:31
  • @Arsen не помогает. – Вячеслав Jul 29 '20 at 14:37
  • @Knyaz71 отступы убрал, выводы не используются до header(). – Вячеслав Jul 29 '20 at 14:38
  • @Dmitriy у меня когда открывается страница входа, сразу выводиться эта часть else{ echo '

    Пожалуйста, заполните все поля

    '; }
    ?> Я ввожу правильные данные для входа, и она пропадает, и я так же остаюсь на странице входа. Без ошибок и так далее.
    – Вячеслав Jul 29 '20 at 14:41
  • @Knyaz71 Ваш ответ оказался верным. Спасибо. – Вячеслав Jul 29 '20 at 16:35

0 Answers0