スクリプトをテストすると、このエラーが発生します
Warning: Cannot modify header information - headers already sent by (output started at /nfs/c06/h04/mnt/153892/domains/authomotive.com/html/artpoint/gallery/index.php:12) in /nfs/c06/h04/mnt/153892/domains/authomotive.com/html/artpoint/gallery/main.php on line 17
もちろん、他のファイルのすべてのスペースを削除し、ob_start() と ob_flush() をファイルに追加したことは誰もが知っていますが、さらに何ができるでしょうか? ヘッダーを送信する別の方法を見つける必要がありますか、それともこの警告を回避する別の方法がありますか?
このスクリプトは、データベースとマップからファイルを削除します。
main.php のソース
<?php
ob_start();
if(isset($_GET['remove'])){
$id=$_GET['id'];
include('conf.php');
require_once('classes/db.class.php');
$db = new DB($db_name,$db_host,$db_user,$db_passw);
$q = $db->query('SELECT photourl,minurl,projectID FROM photo WHERE id='.$id);
while ($line = $db->fetchNextObject()) {
$file = $line->photourl;
unlink($file);
$filemin = $line->minurl;
unlink($filemin);
}
//$db->execute('DELETE FROM project WHERE id='.$line->projectID,true);
$db->execute('DELETE FROM photo WHERE id='.$id);
header("Location:index.php");
}
if(isset($_GET['success'])){
echo('het werkt');
}
ob_flush();
?>
<h1> Projecten </h1>
<ul id="edit-menu">
<li>
<ul>
<li><a class="addPro" href="#"><img src="images/addProject.png" /></a></li><br/>
<li><a class="add" style="padding-left:15px"href="#">Project +</a></li>
</ul>
</li>
<li>
<ul>
<li><a class="addPho" href="#"><img src="images/add.png" /></a></li><br/>
<li><a class="add" href="#">Toevoegen </a></li>
</ul>
</li>
<li>
<ul>
<li><a class="deletePho" href="#"><img src="images/delete.png" /></a></li><br/>
<li><a href="#">Verwijderen </a></li>
</ul>
</li>
<div id="addproject">
<?php include('addproject.php'); ?>
</div>
<div id="addphoto">
<?php include('addphoto.php'); ?>
</div>
<div id="deletephoto">
<?php include('removePhoto.php'); ?>
</div>
</ul>