PHP标头位置不起作用

时间:2016-06-01 08:40:07

标签: php

标题重定向有点问题。我尝试以这种方式制作它,但它没有重定向。我检查了声明和所有说明是否正确。只有重定向不起作用,我不知道为什么。

<!DOCTYPE html>
<html class="full" lang="en">

<head>
    <?php include 'html/head.html'; ?>
    <link href="css/the-big-picture.css" rel="stylesheet">
</head>

<body>

<?php include 'html/nav.html';
session_start();
if(isset($_POST['returnItem'])){
    $connection = mysqli_connect("localhost", "root", "stdinv2016", "invbook");
    $query = "SELECT id_wypozyczenia, nazwa_przedmiotu, nr_fabryczny_przychodu,imie_nazwisko, data_wypozyczenia FROM `wypozyczenia` WHERE id_wypozyczenia=".$_POST['returnItem'];
    $connection->set_charset("utf8");
    $result = mysqli_query($connection, $query, $resultmode = MYSQLI_STORE_RESULT) or die("Query fail: " . mysqli_error());
    if ($result->num_rows < 1)
    {
        echo '<div class="alert alert-dismissible alert-danger col-lg-4 col-lg-offset-4" align="center">
        <strong>Aktualnie żaden sprzęt nie został wypożyczony</strong><br> Spróbuj jeszcze raz. <br></div>';
    }
    else{
        echo "<div class='col-lg-offset-3 col-lg-6'>
    <div class='well bs-component'>
    <div class='alert alert-dismissible alert-warning'>
    <strong><p align='center'>Czy na pewno chcesz zatwierdzić zwrot poniższego przedmiotu?</p></strong>
    </div>
        <div class=\"table table-striped table-hover\">";
                echo "<table class=\"table\"><tr><th>ID</th><th>Nazwa przedmiotu</th><th>Nr inwentarzowy<th>Wypożyczający<th>Data wypożyczenia</th></tr>";
                // output data of each row
                    $row = $result->fetch_assoc();
                    echo "<tr><td>" . $row['id_wypozyczenia'] . "</td><td>" . $row['nazwa_przedmiotu'] . "</td><td>" . $row['nr_fabryczny_przychodu'] . "</td><td>" .$row['imie_nazwisko'] . "</td><td>" . $row['data_wypozyczenia']. "</td></tr>";

                echo "</table>

                </div>
                <form method='post' action='confirmReturn.php'>
                <div align='center'>
                <input type='hidden' name='invNumber' value=".$row['id_wypozyczenia'].">
                <button class='btn btn-success' type='submit' name='confirmReturn' value='yes'>Tak</button>
                <button class='btn btn-danger' type='submit' name='confirmReturn' value='no'>Nie</button>
                </form>
                </div>
                </div></div>";
    }
}
else if(isset($_POST['confirmReturn']) && $_POST['confirmReturn']=='yes'){
    //print_r($_POST);
    /*$connection = mysqli_connect("localhost", "root", "stdinv2016", "invbook");
    $query = "SELECT id_wypozyczenia, nazwa_przedmiotu, nr_fabryczny_przychodu,imie_nazwisko, data_wypozyczenia FROM `wypozyczenia` WHERE id_wypozyczenia=".$_POST['returnItem'];
    $connection->set_charset("utf8");
    $result = mysqli_query($connection, $query, $resultmode = MYSQLI_STORE_RESULT) or die("Query fail: " . mysqli_error());
    if ($result->num_rows < 1)
    {
        echo '<div class="alert alert-dismissible alert-danger col-lg-4 col-lg-offset-4" align="center">
        <strong>Aktualnie żaden sprzęt nie został wypożyczony</strong><br> Spróbuj jeszcze raz. <br></div>';
    }*/
}
else if(isset($_POST['confirmReturn']) && $_POST['confirmReturn']=='no'){
    header("location: returnItem.php");
}
else{
header("location: returnItem.php");
}



include 'html/scripts.html'; ?>
</body>
</html>

P.S。抱歉我的英文;)

1 个答案:

答案 0 :(得分:2)

  

请记住,在任何实际输出之前必须调用header()   通过普通HTML标记,文件中的空行或PHP发送。   使用include或require读取代码是一个非常常见的错误,   函数或其他文件访问函数,并且有空格或空   调用header()之前输出的行。一样的问题   使用单个PHP / HTML文件时存在。

来自php.net

的原文