Jag använder mig av php till en gästbok där datan lagras i en .txt fil och jag har ett litet problem. När man skriver ett meddelande och postar så kommer detta felmeddelande upp:
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\xdream\gastbok.php:12) in C:\wamp\www\xdream\gastbok.php on line 81
När jag sedan uppdaterar sidan så syns inlägget som det ska och allt är frid och fröjd. Detta är rätt så störande och lite hjälp vore kanon!
EDIT: När jag lägger upp det på min server så fungerar det likadant, men inget felmeddelande kommer fram.
Lite hjälp vore bra! tack på förhand! :)
gasbok.php
<?php
// hämta gb.txt till en variabel
$filename = "gb.txt";
$handle = fopen($filename, "r");
$intext = fread($handle, filesize($filename));
fclose($handle);
$gbtext = $intext;
//ta bort a markeringen från texten
$gbtext = str_replace ("[a]", "", "$gbtext");
$gbtext = str_replace ("[/a]", "", "$gbtext");
//hantera formulär
if (isset($_POST['gb'])){
$namn = $_POST['namn'];
$text = $_POST['text'];
$datum = $_POST['datum'];
//ordna datum till svenska
$datum = str_replace ("Monday", "Måndag", "$datum");
$datum = str_replace ("Tuesday", "Tisdag", "$datum");
$datum = str_replace ("Wednesday", "Onsdag" , "$datum");
$datum = str_replace ("Thirsday", "Torsdag", "$datum");
$datum = str_replace ("Friday", "Fredag", "$datum");
$datum = str_replace ("Saturday", "Lördag", "$datum");
$datum = str_replace ("Sunday", "Söndag", "$datum");
//hindra om nån post e tom
if (empty ($namn) || empty ($text)){
header("Location: gastbok.php");
exit;
}
//vad som ska sparas
$intext = '[a]<tr><td width="250" bgcolor="#ecedec"><div id="namnfont"><b> ' . $namn . '</b></div></td><td width="150" bgcolor="#ecedec"><div id="namnfont"> ' . $datum . ' </div></td></tr><tr><td colspan="2" bgcolor="#fcfdec"><div id="textfont">' . $text . '</div></td></tr>[/a]'. $intext;
//spara data i en textfil
$filnamn = "gb.txt";
$fp = fopen($filnamn, "r+");
flock($fp, LOCK_EX);
fwrite($fp,$intext);
flock($fp, LOCK_UN);
fclose($fp);
//skicka oss tillbaka och läser in gästboken igen
header("Location: gastbok.php");
exit;
}
?>
<html>
<head>
<style type="text/css">
<!--
html, body { margin: 0; height: 100%; width: 100%px; background-color:transparent}
#textfont { margin: 10px 0px 10px ; text-align: left; font-family: Tahoma; font-size: 11px; color: #000000}
#namnfont { margin: 0px 0px; text-valign: left; font-family: Tahoma; font-size: 11px; color: #000000}
-->
</style>
</head>
<table border="0" width="463px" cellspacing=0>
<?php echo $gbtext; ?>
</table>
<table width='400' border=0 cellspacing=0>
<tr><td>
<form action="gastbok.php" method="post" runat="server">
<div id='textfont'>Namn</div><input type="text" name="namn">
</td>
<tr><td colspan="2">
<div id="textfont">Meddelande</div>
<textarea type="text" name="text" rows="3" cols="47"></textarea>
</td></tr>
<tr><td colspan="2" align="right">
<input type="hidden" name="datum" value='<?php echo date("l j-M-Y"); ?>'
<input type="submit" id="gb" name="gb" value="Skicka" />
<input type="reset" id="gb" name="gb" value="Ångra" />
</td></tr>
</form>
</table>
</html>
