0

我正在为我的学校做一个项目,我写了这个页面,但由于某种原因,我最后收到 2 个警告,关于已在第 132 行发送的标题信息,但在第 132 行,我只有 php 标签

如果能得到帮助,我将不胜感激,我在 1 小时内编写了此代码,但在过去 2 小时内试图解决此问题......最后累了,决定问它

这是我的代码

<html>
<body>
<form method="POST">
Browse By Author's name starting with :<select name="author">
<option value="">--Select--</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
<option value="F">F</option>
<option value="G">G</option>
<option value="H">H</option>
<option value="I">I</option>
<option value="J">J</option>
<option value="K">K</option>
<option value="L">L</option>
<option value="M">M</option>
<option value="N">N</option>
<option value="O">O</option>
<option value="P">P</option>
<option value="Q">Q</option>
<option value="R">R</option>
<option value="S">S</option>
<option value="T">T</option>
<option value="U">U</option>
<option value="V">V</option>
<option value="W">W</option>
<option value="X">X</option>
<option value="Y">Y</option>
<option value="Z">Z</option>
</select><br><br>

Browse by Title start with :<select name="title">
<option value="">--Select--</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
<option value="F">F</option>
<option value="G">G</option>
<option value="H">H</option>
<option value="I">I</option>
<option value="J">J</option>
<option value="K">K</option>
<option value="L">L</option>
<option value="M">M</option>
<option value="N">N</option>
<option value="O">O</option>
<option value="P">P</option>
<option value="Q">Q</option>
<option value="R">R</option>
<option value="S">S</option>
<option value="T">T</option>
<option value="U">U</option>
<option value="V">V</option>
<option value="W">W</option>
<option value="X">X</option>
<option value="Y">Y</option>
<option value="Z">Z</option>
</select><br><br>

Browse by Publisher start with :<select name="publisher">
<option value="">--Select--</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
<option value="F">F</option>
<option value="G">G</option>
<option value="H">H</option>
<option value="I">I</option>
<option value="J">J</option>
<option value="K">K</option>
<option value="L">L</option>
<option value="M">M</option>
<option value="N">N</option>
<option value="O">O</option>
<option value="P">P</option>
<option value="Q">Q</option>
<option value="R">R</option>
<option value="S">S</option>
<option value="T">T</option>
<option value="U">U</option>
<option value="V">V</option>
<option value="W">W</option>
<option value="X">X</option>
<option value="Y">Y</option>
<option value="Z">Z</option>
</select><br><br>

Browse by Genre:<select name="genre">
<option value="">--Select--</option>
<option value="fiction">Fiction</option>
<option value="non-fiction">non-fiction</option>
<option value="sciencefiction">science fiction</option>
</select><br><br>

Book Award: <select name="bookaward">
<option value="">--Select--</option>
<option value="1">Arthur Ellis Award</option>
 <option value="2">Booker Prize</option>
 <option value="3">Canadian Jewish Book Awards</option>
 <option value="4">Commonwealth Writers Prize</option>
 <option value="5">Dayne Ogilvie Prize</option>
 <option value="6">Edna Staebler Award</option>
 <option value="7">Geoffrey Bilson Award</option>
 <option value="8">Gerald Lampert Award</option>
 <option value="9">Griffin Poetry Prize</option>
 <option value="10">Governor General's Award</option>
 <option value="11">Commonwealth Writers Prize</option>
 <option value="12">Journey Prize</option>
 <option value="13">Lorne Pierce Medal</option>
 <option value="14">Wright Awards</option>
 <option value="15">Milton Acorn People's Poetry Award</option>
 <option value="16">Matt Cohen Award: In Celebration of a Writing Life</option>
 <option value="17">Norma Fleck Award</option>
 <option value="18">RBC Bronwen Wallace Award for Emerging Writers</option>
 <option value="19">Pat Lowther Award</option>
 <option value="20">Rogers Writers' Trust Fiction Prize</option>
 <option value="21"> Wright Awards</option>
 <option value="22">Writers' Trust Distinguished Contribution Award</option>
 <option value="23">Writers' Trust Engel/Findley Award</option>
 <option value="24">Winterset Award</option>
 <option value="25">Hilary Weston Writers' Trust Prize for Nonfiction</option>
 <option value="26">Geoffrey Bilson Award</option>
 </select><br><br>
<input type="submit" name="submit" value="Browse">
</form>

<?php
error_reporting(E_ERROR|E_WARNING);

$con = mysql_connect("localhost", "root", "");

if (!$con) {
die('Connection Failed: ' . mysql_error());
}

 if (mysql_select_db("elibrary",$con)){
if ($_POST['submit']){
    $author = $_POST['author'];
    $title = $_POST['title'];
    $genre = $_POST['genre'];
    $publisher= $_POST['publisher'];
    $award= $_POST['bookaward'];

    if ($author != "") {
    $author1 = "author";
    $like1 = "like";
    $and1 = "and";
    }   

    if ($title != "") {
    $title1= "title";
    $like2 = "like";
    $and2 = "and";
    }   

    if ($genre != "") {
    $genre1="genre";
    $like3 = "like";
    $and3 = "and";
    }   

    if ($publisher != "") {
    $publisher1= "publisher";
    $like4 = "like";
    $and4 = "and";
    }   

    if ($award != "") {
    $award1= "bookawards.id";
    $like5 = "=";
    $and5 = "and";
    }

    $browse = ("select * from books,bookawards,bookrelations where books.id = bookrelations.bookid and bookawards.id = bookrelations.bookawardsid '".$and1."' '".$author1."' '".$like1."' '".$author."%' '".$and2."' '".$title1."' '".$like2."' '".$title."%' '".$and3."' '".$genre1."' '".$like3."' '".$genre."%' '".$and4."' '".$publisher1."' '".$like4."' '".$publisher."' '".$and5."' '".$award1."''".$like5."''".$award."'");
    setcookie("browse",$browse);
    header("Location: shop.php");
    exit(); 
    }
    }
mysql_close();
?>
</body>
</html>
4

3 回答 3

8

您需要将 PHP 代码移动到页面顶部(在 HTML 之前)。

如需更详细的答案:

https://stackoverflow.com/a/8028987/1724762

于 2013-04-09T06:26:21.340 回答
2

header()在您已经输出了这么多 HTML 之后将无法正常工作。必须在任何输出发送到浏览器之前调用它

根据PHP 手册

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

于 2013-04-09T06:24:02.453 回答
0

当您使用或任何函数写入输出时echo,PHP 已经发送了响应正文。这意味着您不能在之后发送标头。

同样适用于 html,将显示 html 并且输出已经开始,因此您无法调用header()之后。

这同样适用于结束标签?>。如果您在结束标记后有任何单个空格,解析器将忽略它(因为在结束标记之外)并且输出将开始。

所以最好的解决方案是省略结束标签,因为解析器不需要它们。

就像您发送电子邮件并在之后添加地址一样。

于 2013-04-09T06:26:20.907 回答