Php &引用;无法修改标题信息";警告
我在观看YouTube教程时收到此警告,但我不知道为什么: 警告:无法修改标题信息-标题已由发送(输出从/Applications/XAMPP/xamppfiles/htdocs/storeadmin/inventory_list.php:23开始) 代码如下:Php &引用;无法修改标题信息";警告,php,sql,e-commerce,Php,Sql,E Commerce,我在观看YouTube教程时收到此警告,但我不知道为什么: 警告:无法修改标题信息-标题已由发送(输出从/Applications/XAMPP/xamppfiles/htdocs/storeadmin/inventory_list.php:23开始) 代码如下: <?php session_start(); if(!isset($_SESSION["manager"])){ header("location: admin_login.php"); exit(); } $managerID
<?php
session_start();
if(!isset($_SESSION["manager"])){
header("location: admin_login.php");
exit();
}
$managerID = preg_replace('#[^0-9]#i','',$_SESSION["id"]);//filter everything but numbers
$manager= preg_replace('#[^A-Za-z0-9]#i','',$_SESSION["manager"]);
$password= preg_replace('#[^A-Za-z0-9]#i','',$_SESSION["password"]);
include "../connect_to_mysql.php";//includes file to connect to db
$sql= mysql_query("SELECT * FROM admin WHERE id='$managerID' AND username='$manager' AND password='$password' LIMIT 1");
$existCount=mysql_num_rows($sql); //count row
if ($existCount == 0) {
echo "your login does not exist";
exit();
}
?>
<?php
error_reporting(E_ALL);//error report testing
ini_set('display_errors','1');
?>
<?php
// Delete Item Question to Admin, and Delete Product if they choose
if (isset($_GET['deleteid'])) {
echo 'Do you really want to delete product with ID of ' . $_GET['deleteid'] . '? <a href="inventory_list.php?yesdelete=' . $_GET['deleteid'] . '">Yes</a> | <a href="inventory_list.php">No</a>';
exit();
}
if (isset($_GET['yesdelete'])) {
// remove item from system and delete its picture
// delete from database
$id_to_delete = $_GET['yesdelete'];
$sql = mysql_query("DELETE FROM products WHERE id='$id_to_delete' LIMIT 1") or die (mysql_error());
// unlink the image from server
// Remove The Pic -------------------------------------------
$pictodelete = ("../inventory_images/$id_to_delete.jpg");
if (file_exists($pictodelete)) {
unlink($pictodelete);
}
header("location: inventory_list.php");
exit();
}
?>
<?php
//parse form data adds inventory item to database
if(isset($_POST['product_name'])){
$product_name = mysql_real_escape_string($_POST['product_name']);
$price = mysql_real_escape_string($_POST['price']);
$proddescription = mysql_real_escape_string($_POST['proddescription']);
$genre = mysql_real_escape_string($_POST['genre']);
$quantity = mysql_real_escape_string($_POST['quantity']);
//this checks if an item already exists under this name
$sql= mysql_query("SELECT id FROM products WHERE product_name='$product_name' LIMIT 1");
$productMatch = mysql_num_rows($sql);
if($productMatch > 0){
echo 'Sorry, this item already exists, <a href="inventory_list.php">click here</a>';
exit();
}
//add items to database
$sql = mysql_query("INSERT INTO products (product_name, price, proddescription, genre, quantity)
VALUES('$product_name','$price','$proddescription','$genre','$quantity')") or die (mysql_error());
$pid = mysql_insert_id();
// Place image in the folder
$newname = "$pid.jpg";
move_uploaded_file( $_FILES['fileField']['tmp_name'], "../inventory_images/$newname");
header("location: inventory_list.php");
exit();
}
?>
<?php
//this displays whole list
$product_list="";
$sql = mysql_query("SELECT * FROM products");
$productCount =mysql_num_rows($sql);
if($productCount>0){
while($row = mysql_fetch_array($sql)){
$id = $row["id"];
$product_name = $row["product_name"];
$price = $row["price"];
$quantity = $row["quantity"];
$product_list.="$id - $product_name - $quantity - $price <a href= 'inventory_edit.php?pid=$id'>edit</a> • <a href='inventory_list.php?deleteid=$id'>delete</a><br />";
}
} else {
$product_list = "There are no products in the store.";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<title>Inventory List</title>
<link href="../style2.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container">
<div id="masthead">
</div>
<div id="navigation">
<p><a href="index1.php">Home</a>
<a href="fiction.php">Fiction</a>
<a href="travel.php">Travel</a>
<a href="sport.php">Sport</a>
<a href="arts.php">Arts & Design</a>
<a href="cart.php">Shopping Cart</a>
<a href="account.php">Manage Account</a></p>
</div>
<div id="content">
<div align ="right" style="margin-right:32px;"><a href="inventory_list.php#inventoryForm">+ Add New Item</a></div>
<div align="left" style="margin-left:24px;">
</div>
<h4>Inventory List</h4>
<?php echo $product_list; ?>
<a name = "inventoryForm" id="inventoryForm"></a>
<h3>
↓ Add New Item Form ↓
</h3>
<form action="inventory_list.php" enctype="multipart/form-data" name="myForm" id="myForm" method="post">
<table width="90%" border="0" cellspacing="0" cellpadding="6">
<tr>
<td width="20%">Product Name</td>
<td width="80%"><label>
<input name="product_name" type="text" id="product_name" size="64" />
</label></td>
</tr>
<tr>
<td>Product Price</td>
<td><label>
£
<input name="price" type="text" id="price" size="12" />
</label></td>
</tr>
<tr>
<td>Description</td>
<td><label>
<input name="proddescription" type="text" id="proddescription" size="64" />
</label></td>
</tr>
<tr>
<td>Genre</td>
<td><label>
<select name="genre" id="genre" />
<option value=""></option>
<option value="Fiction">Fiction</option>
<option value="Travel">Travel</option>
<option value="Sport">Sport</option>
<option value="Arts & Design">Arts & Design</option>
</select>
</label></td>
</tr>
<tr>
<td>Product Image</td>
<td><label>
<input type="file" name="fileField" id="fileField" />
</label></td>
</tr>
<tr>
<td>Quantity</td>
<td><label>
<input name="quantity" type="text" id="quantity" size="4" />
</label></td>
</tr>
<tr>
<tr>
<td> </td>
<td><label>
<input type="submit" name="button" id="button" value="Add Item" />
</label></td>
</tr>
</table>
</form>
<br />
<br />
</div>
<div id="footer">
<p>ADMIN AREA</p>
</div>
</div>
</body>
</html>
库存清单
库存清单
&darr;添加新项目表单&darr;
品名
产品价格
&磅;
描述
体裁
小说
旅行
运动
艺术与设计
产品形象
量
行政区
由于错误提示您无法修改标题。因此,如果您使用标题()
函数,请确保在
标记之外没有空间或内容。并且不要在同一脚本中两次发送同一标题。代码中存在以下问题:
...
echo "your login does not exist";
exit();
}
?>
//here you have space and \n
<?php
。。。
回显“您的登录不存在”;
退出();
}
?>
//这里有空间和\n
这发生在后面块中的一个header()
调用中。例如,在第三个
块中,它调用:
header("location: inventory_list.php");
每个
块之间都有空行,因此这将被视为原始HTML,并在发生时立即发送到用户浏览器(代码块外的第一行是第23行,这就是错误中提到它的原因)。在发送数据之前,必须发送标题,因此此时您不能再更改它们。由于PHP块之间只有空行,因此您可以将它们合并在一起以修复它。您在PHP标记之外有一个空行:
?>
<?php
?>
查看与我相关的session\u start()
。它必须位于veryyy顶部,之前不必发送其他输出(例如使用echo
)。此文件是否包含session\u start()
必需/包含其他内容?在
标记之间存在间隙。它们以空白形式发送到浏览器。发送任何内容后,您不能发送任何标题,甚至不能发送空白。此外,这是右侧边栏中每个相关问题的副本。请查看“相关”此问题右侧的列。可能与“谢谢”重复,修复了我删除项目时的问题。但当我添加一个项目时,仍会收到以下警告:无法修改标题信息-标题已由发送(输出开始于/Applications/XAMPP/xampfiles/htdocs/storeadmin/inventory_list.php:68)在第69行的/Applications/XAMPP/xamppfiles/htdocs/storeadmin/inventory_list.php中,请确保您只有一个感谢您的帮助。删除项目时可以解决此问题,但我现在在添加项目时遇到此错误…警告:无法修改标题信息-标题已由发送(输出开始于/Applications/XAMPP/xamppfiles/htdocs/storeadmin/inventory_list.php:68)在第69行的/Applications/XAMPP/xamppfiles/htdocs/storeadmin/inventory_list.php中,您正在inventory_list.php的第68行发送输出。