tagwall PHP fejl i line 16, hvorfor ?
jeg får en fejl i linie 16, hvorfor ?Denne linie: function link($var) {
Kilden er her:
<?php
// Definer navn på txt-fil og tjek at den findes, og hvis ikke, så lav den.
$filnavn = "gaestebog.txt";
if(!file_exists($filnavn)) {
$fp = fopen($filnavn, 'w+');
if ($fp) {
fputs($fp, "");
fclose($fp);
}
chmod($filnavn, 0777);
}
clearstatcache();
function link($var) {
// LJweb's tagster, som kan findes på "http://ljweb.biz" eller "http://lars.jensen.name"
// Spørg mig IKKE om hvordan den virker, men den virker! :O) (steffen)
$var = " ".$var;
$var = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])((ftp|http|https|telnet|news|nttp|nntp|file):\/\/[a-z0-9~#%@\&\(\):;=\?\/\.,_-]+(\\[|\\]|[a-z0-9~#%@\&:;,=\?\/_\+-])+)", "\\1<A HREF=\"\\2\" TARGET=\"_blank\">\\2</A>", $var);
$var = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])(www\.[a-z0-9~#%@\&\(\):;=\?\/\.,_-]+[a-z0-9~#%@\&:;,=\?\/_\+-]+)", "\\1<A HREF=\"http://\\2\" TARGET=\"_blank\">\\2</A>", $var);
$var = eregi_replace("([_\.0-9a-z-]+@([0-9a-z-]+)+\.[a-z]{2,4})","<A HREF=\"mailto:\\1\">\\1</A>", $var);
return $var;
// Slut på tagster
}
// Er der klikket på submitknappen?
if (isset($_POST['navn'], $_POST['email'], $_POST['homepage'], $_POST['besked'])) {
//hvis textarea-feltet er tomt, er der ingen grund til at skrive noget i textfilen
if(empty($_POST['besked'])) {
header("Location:". $_SERVER['PHP_SELF'] ."");
exit;
}
//definerer $felter som et array, for nemmere at kunne "bearbejde" input
$felter = array();
// en foreach til at bearbejde inputs
// 1. Fjerne html tags
// 2. Fjerne alle | tegn da de bruges til at holde info adskilt
foreach($_POST as $value) {
$value = strip_tags($value);
$value = ereg_replace("(\|)", "", $value);
//Undgå at \ bliver sat før ' og " når der skrives til filen
$value = stripslashes($value);
// Bruger array'et $felter
// $felter[0] starter med første input felt, $_POST['navn'], o.s.v.
$felter[] = $value;
}
//Omdan f.eks. æ til htmlkode, og gør brug af lj_web's tagster, function link()
$felter[0] = htmlentities($felter[0]);
$felter[1] = link(htmlentities($felter[1]));
$felter[2] = link(htmlentities($felter[2]));
$felter[3] = link(htmlentities($felter[3]));
// Erstatter entertryk fra textarea'et med en enkelt <br>-tag så linieskift osse vil blive vist
$felter[3] = ereg_replace("(\r\n|\n\r|\n|\r)+", "<br>", $felter[3]);
// Hvis navn $felter[0] ikke er indtastet, skriver vi anonym i stedet
if(empty($felter[0])) {
$felter[0] = "Anonym";
}
// finder tidspunkt
$tid=date("d-m-Y : H:i:s",time());
// Den streng som skal skrives til textfilen, startende med tidspunkt og afluttet med en ny linie
$str = $tid ."|". $felter[0] ."|". $felter[1] ."|". $felter[2] ."|". $felter[3] ."\n";
// Åben txt-filen for skrivning
$fp = fopen($filnavn, 'a+');
if ($fp) {
fputs($fp, $str);
fclose($fp);
}
//redirecte til filen selv
header("Location:". $_SERVER['PHP_SELF'] ."");
exit;
}
?><html><head><title>Gæstebog</title>
<style type="text/css">
body, td, th {font-family: arial; font-size: 0.8em; color: black; background-color: #F7F4E8;}
a:link {color: #4f0000; text-decoration: underline;}
a:visited {color: black; text-decoration: underline;}
a:hover {color: #4f0000; text-decoration: none;}
a.menu:hover {color: #4f0000; text-decoration: none; background-color: #cfd192;}
.big {font-size: 2.4em;}
.input {color: black; background-color: #ffffff; font-family: arial; font-size: 0.9em; border-color: black; border-width: 1px;}
.submit {font-family: arial; font-size: 0.8em; border-width: 1px; border-color: black;}
.fra {background-color: #999966; color: white;}
.besked {background-color: #eaeaea; color: black; padding-left: 16px; padding-left: 10px;}
</style>
</head>
<body>
<center>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0" width="70%" cellspacing="0" cellpadding="4"><tr>
<td class="big" align="center">Gæstebog</td>
</tr><tr>
<td align="center" style="border-bottom: solid black; border-width: 1px;"><table border="0" cellspacing="0" cellpadding="4"><tr>
<td>Dit navn:<br>
<input type="text" name="navn" size="24" class="input"></td>
<td>Din email:<br>
<input type="text" name="email" size="24" class="input"></td>
</tr><tr>
<td colspan="2">Din hjemmeside:<br>
<input type="text" name="homepage" size="52" value="http://" class="input"></td>
</tr><tr>
<td colspan="2" align="center"><textarea cols="48" rows="8" name="besked" class="input"></textarea><br>
<input type="submit" value="Tilføj indlæg" class="submit"></td>
</tr></table></td>
</tr><?php
$indhold = file($filnavn);
// for-løkke til at hente hver linie ud af txt-filen.
// Startende med sidste linie først! Tak til jakoba og tipsen fra eksperten for hjælp
for ($i = count($indhold)-1; $i >=0; $i--) {
// Del hver linie op efter " | " og "ignorer" nylinie tegn, "chop"
$vis = split("\|", chop($indhold[$i]));
// Lav output
echo"<tr>\n";
echo" <td class=\"fra\" style=\"border-left: solid black; border-right: solid black; border-width: 1px;\">Indlæg af ". $vis[1] ." d. ". $vis[0] ." Email: ". $vis[2] ." ". $vis[3] ."</td>\n";
echo"</tr><tr>\n";
echo" <td class=\"besked\" style=\"border-left: solid black; border-right: solid black; border-bottom: solid black; border-width: 1px;\">". wordwrap($vis[4], 100, " ", 1) ."</td>\n";
echo"</tr>";
}
?></table>
</form>
</center>
</body></html>
