PDA

Visualizza la versione completa : differenza script apache - server


giaco31
14-08-2005, 01:25
salve a tutti, quando usavo windows avevo creato uno script php che, passando a linux, ho deciso di trasportare di qua.
Bene, da windows lo script funzionava perfettafemente, se lo invio al server (altervista) sia da linux che da windows funziona correttamente, ma c' un ma. Se lo apro da apache (1.3) mi dice:

Warning: Cannot modify header information - headers already sent by (output started at /home/giacomo/Desktop/Localhost/script txt/txtguestbook/index.php:2) in /home/giacomo/Desktop/Localhost/script txt/txtguestbook/index.php on line 129

il che molto strano, anche perch la line 129 contiene questo:

<div align="center"><a href="scrivi.php" class="scrivi">Scrivi un nuovo

come faccio a non far comparire pi l'errore?
grazie a tutti.
giacomo

Marcolino's
14-08-2005, 01:28
E' una domanda da PHP e non da Linux, inoltre dovresti postare l'intero script e non solo la riga risultante.
Quella risposta sta solo a significare che qualcosa gi "partito verso il server" e che non pu essere reinviato.
Controlla gli header e cosa c' prima di quelli.
Controlla pure il php.ini mi pare che c' una clausola per modificare gli header.

giaco31
14-08-2005, 01:30
questa la pagina incrimata (index.php)



<link href="style.css" type=text/css rel=stylesheet>
<?
$filename = "config.php";
if (file_exists($filename)) {
include("config.php");

$file = "messaggi.php";
$apertura = fopen($file, 'r+');
$dimensione = filesize($file);
$contenuto = fread($apertura, $dimensione);
$capo = chr(13);
$controllo = explode($capo, $contenuto);
$totale = count($controllo)-1;
$chiusura = fclose($apertura);

$divisione = $totale/$per_pagina;
$virgola = explode(".", $divisione);
$pagine = $virgola[0]+1;
if ($pagine == 1) {
$scritta = "tutti mostrati in questa pagina";
} else {
$scritta = "divisi in $pagine pagine";
}

if ($totale < $per_pagina) {
$precedente = "&lt;&lt; pagina precedente";
$successiva = "pagina successiva &gt;&gt;";
} else {
}
?>
<title><?php echo "$guestbook"; ?></title>
<div align="center"><font size=2 color="#008800" face="Verdana, Arial, Helvetica, sans-serif"><?php echo "$guestbook"; ?></font>


Ci sono un totale di <?php echo "$totale" ?> messaggi nel guestbook, <?php echo "$scritta"; ?>.



<?php
if ($pag == 1 OR !$pag) {
$pagina = 0;
} else {
$pagina = $pag-1;
}
$ultimo_mess = $pagina*$per_pagina;
if ($pagina == 0) {
$ultima_pag = $per_pagina*1;
} else {
$ultima_pag = $per_pagina*$pag;
}

// Gestione link pagina \\
if (!$pag) {
$precedente = "<font color=#CCCCCC>&lt;&lt; precedente</font>";
if ($ultima_pag >= $totale) {
$successiva = "<font color=#CCCCCC>successiva &gt;&gt;</font>";
} else {
$successiva = "<a href=$PHP_SELF?pag=2>successiva &gt;&gt;</a>";
}
} else {
if ($pag == 2) {
$precedente = "<a href=$PHP_SELF>&lt;&lt; precedente</a>";
if ($ultima_pag >= $totale) {
$successiva = "<font color=#CCCCCC>successiva &gt;&gt;</font>";
} else {
$successiva = "<a href=$PHP_SELF?pag=3>successiva &gt;&gt;</a>";
}
} else {
// Se non la pag 2 \\
$prec = $pag-1;
$precedente = "<a href=$PHP_SELF?pag=$prec>&lt;&lt; precedente</a>";
if ($ultima_pag >= $totale) {
$successiva = "<font color=#CCCCCC>successiva &gt;&gt;</font>";
} else {
$succ = $pag+1;
$successiva = "<a href=$PHP_SELF?pag=$succ>successiva &gt;&gt;</a>";
}
}
}

for ($messaggio = $ultimo_mess; $messaggio < $ultima_pag; $messaggio++) {
$messaggi = $controllo[$messaggio];
$array = explode(", ", $messaggi);
if ($array[0]) {
?>
<table width="500" border="0">
<tr bgcolor="#7CB8E9" align="center">
<td width="30%"><font color="white">Autore</font></td>
<td width="70%"><font color="white">Messaggio</font></td>
</tr>
</table>
<?php
if ($array[4] == "") {
$mail = "";
} else {
$mail = "<img src=img/email.gif border=0> ($array[4])";
}
if ($array[6] == "") {
$provenienza = "";
} else {
$provenienza = "da $array[6]";
}

echo "<table width=500 border=0>";
echo "<tr>
<td width=31% valign=top><div align=center>$array[0]</div>$mail";
if ($array[5] == "http://" OR $array[5] == "") {
} else {
echo "<img src=img/url.gif border=0> ($array[5])";
}
$array[1] = str_replace(";:;", "<", $array[1]);
$array[1] = str_replace(":;:", ">", $array[1]);
$array[1] = str_replace("%&", ",", $array[1]);
stripslashes($array[1]);
echo "</td>
<td width=69%>- Inviato alle $array[3] del $array[2] $provenienza

$array[1]

</td>";
echo "</tr>";
echo "</table>";
} else {
}
}
?>
<table width="500" border="0">
<tr>
<td width="50%"><?php echo "$precedente" ?></font></td>
<td width="50%" align="right"><?php echo "$successiva" ?></font></td>
</tr>
</table>
<div align="center">Scrivi un nuovo messaggio (scrivi.php)


<font color="#CCCCCC">giacows (admin/index.php>Admin</a>)</font></div>
</div>
<?php
} else {
header("location: installa.php");
}
?>

ero indeciso su dove postare. Scusate.

Loading