webForumDet fria alternativet
Logga in / Bli medlem

Radbrytning i PHP-gästbok

PHP

2 svar · 270 visningar · startad av Probyte

Medlem sedan maj 200159 inlägg
Frågan#1

Hallå. Jag håller på o pillar lite med Matti's PHP-gästbok som figurerar i olika trådar här på wf och försöker samtidigt lära mig så mkt php som möjligt. Nu har jag dock en grej som jag skulle vilja ha lite hjälp med.

När man skriver in ett meddelande i textarea i formuläret och sänder iväg detta så registreras inte radbrytningarna man gjort där (dvs vanliga enter i texten) som <br> som jag vill att det ska göra. Jag vill alltså att radbrytningar i meddelandet oxå ska visas som radbrytningar i gästboken.

Infogar php-koden:

<html>
<head>
<title>Gästbok</title>
<meta http-equiv="refresh" content="3;URL=index.php">

</head>
<body><?
/* Copyright (c) 2000 Matti Kolu and Joakim Ewenson. All rights reserved.

This program may be used and modified free of charge by anyone, so
long as this copyright notice remain intact. 

*/

if ($namn == "") {
echo('<p>

Du glömde att skriva ditt namn<p></p>');
}
elseif ($meddelande == "") {
echo('<p>Du glömde att skriva ett meddelande</p>');
}
elseif ($meddelande == "Ditt meddelande") {
echo('<p>Du glömde att skriva ett meddelande</p>');
}
else {
echo("<p>Tack för dina kommentarer</p>");
}
/* Byt ut de tecken som inte passar */
$meddelande = str_replace("å","å",$meddelande);
$meddelande = str_replace("ä","ä",$meddelande);
$meddelande = str_replace("ö","ö",$meddelande);
$meddelande = nlbr($meddelande);
$meddelande = preg_replace("/<.*?>/","",$meddelande);

$today = date("Y-m-d");
/* Här skrivs informationen in i gästboken */
$nyhetsfil="gbok.txt";
$hela .="<p align=left><b>Namn: <a href=mailto:$email>$namn</a></b><br>";
$hela .="<b>Hemsida:</b> <a href=$hemsida target=nytt>$hemsida</a><br>";
$hela .="<b>Datum:</b> $today";
$hela .="<br><b>Meddelande:</b><br>$meddelande</p><hr width=200 align=left>";
$fpread = fopen($nyhetsfil, 'r') or die;
$hela .= ltrim(Chop(fread($fpread, 99999)));
fclose ($fpread);
$fpwrite = fopen($nyhetsfil, 'w') or die;
fputs($fpwrite,$hela);
fclose($fpwrite);
?>

</body>
</html>

Är mkt tacksam för snabb hjälp...

Medlem sedan mars 20007 896 inlägg
#2

Verkar som att Matti har missat en två på raden
$meddelande = nlbr($meddelande);
Ska egentligen vara:
$meddelande = nl2br($meddelande);

Medlem sedan maj 200159 inlägg
#3

Sorry.. det är nog jag som pillat bort en tvåa där. Men det funkar inte ändå. Jag har själv pillat dit nl2br för att jag läste att det skulle konvertera n/ till <br> men det är nåt mer som ställer till det... tror att det är:

$hela .= ltrim(Chop(fread($fpread, 99999)));

Men jag vet inte hur jag ska skriva om den... =(

261 ms totalt · 4 externa anrop · v20260731065814-full.1b2494f0
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)