Не работает редирект как это решить?

Здравствуйте,

такой вопрос. Не работает редирект после того как залил на хостинг.

<form action="" method="post">
                <input type="submit" name="delete" class="delete" value="Удалить проект" />
            </form>
            
        <?php
            if($_SESSION['userID'] == $_SESSION['id']){
                if(isset($_POST['delete'])){
                    $stmt = $dbh->prepare('DELETE FROM projects WHERE projectID = :projectID');
                    $stmt->bindParam(':projectID', $projectID);
                    $stmt->execute();
                    
                    //$uID = $_SESSION['id'];
    
                    header ('Location: office.php?id='. $_SESSION['id']);
                    //echo "<meta http-equiv='refresh' content='0;url=http://mydomain.net/office.php?id=$uID>";
                    //echo "<meta http-equiv='refresh' content='0;url=http://mydomain.net/office.php?id='. $_SESSION['id']>";
                    //header ("Location: url = http://mydomain.net/office.php?id". $_SESSION['id']);
                    //echo '<scrip>location="http://mydomain.net/office.php?id=$uID";</script>';
                    exit;
                }
            }else{
                echo '<script>document.styleSheets[0].insertRule("input, form { display: none; }", 0);</script>';
            }
        ?>


Я понимаю что нужно перед шаблоном делать редирект, но и перед шаблоном он не работает и после (даже при помощи скриптов) я уже на это несколько вечеров потратил, так и не смог решить проблему. Только на этой странице, на других работает. Либо header стоит перед шаблоном, или с помощью
exit("<meta http-equiv='refresh' content='0;url=http://mydomain.net/office.php?id='. $_SESSION['id']>");


Но не один из этих вариантов не помогает, когда в браузере открываю страницу чтобы посмотреть код (F12), то там пустое тело и всё.
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
DVamp1r3
@DVamp1r3
Java/PHP программист
Изменение заголовков работает только до вывода чего бы то ни было страницу.
Соответственно, надо сначала проверять условие и делать редирект, а уже в противном случае отдавать форму.
Скорее всего до формы в браузер уже отдается часть html-страницы, поэтому редирект и не работает, куда ни поставь в данном листинге.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы