2016-06-01 23 views
0

私はヘッダのリダイレクトに少し問題があります。私はこのようにしてみるが、リダイレクトはしない。私はステートメントとすべての指示が適切に行われているかどうかを確認しました。リダイレクトだけが機能せず、理由はわかりません。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

可能な重複からオリジナル[PHPでエラー "送信済みヘッダー" を修正する方法](http://stackoverflow.com/questions/8028957/how-to-fix-headers-already -sent-error-in-php) –

+0

書き込みを終了します。 after header( "Location:returnItem.php");一番下にファイルを含めるという意味はありません。 –

答えて

2

(そのヘッダを忘れないでください)任意の実際の出力は、通常のHTMLタグによって、ファイル内の空白行、またはPHPのいずれかから、 送信される前に呼び出さなければなりません。 関数または別のファイルアクセス関数をインクルードするか、または必要とするコードを読み取って、header()が呼び出される前に空白または空の 行が出力されるのは非常に一般的なエラーです。単一のPHP/HTMLファイルを使用する場合、同じ問題 が存在します。

php.net

+0

私はこれについて読む。私の責任です。今私はこの問題を解決する方法を知っています。あなたの答えに感謝します。 –

関連する問題