Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Kommentti-scripti

Sivun loppuun

snakari [27.02.2002 14:39:17]

#

Samanlainen kun alhaalla!

index.php

<form action="kommentti.php" method="post">
Nimi: <br>
<input type="text" name="nimi"><br>
Sähköposti: <br>
<input type="text" name="email"><br>
Kommentti:<br>
<textarea name="kommentti"></textarea><br>
<input type="submit" value="Kommentoi" name="ok">
</form>
<br>
<?php
include ("kommentit.txt");
?>

kommentti.php

<?php
if (isset ($ok))
{
$tiedosto="kommentit.txt";
$kommentti = str_replace("<", "&lt;", $kommentti);
$kommentti = str_replace(">", "&gt;", $kommentti);
$kommentti = str_replace("\n", "<br>", $kommentti);
$nimi = str_replace("<", "&lt;", $nimi);
$nimi = str_replace(">", "&gt;", $nimi);

$t=fopen($tiedosto, "a");
fwrite($t, "Lähettäjä: <a href=mailto:". $email ."</a>". $nimi ."</a> <br>");
fwrite($t, "Lähetysaika: ". date("j.n.Y  H:i:s"));
fwrite($t, "<br>Kommentti: ". $kommentti ."<br>");
fclose($t);
?>
<script>document.location="index.php"</script>
<?php
}
?>

snakari [28.02.2002 10:45:37]

#

Tossa lisäys jutussa on joku bugi!

Muuta tää rivi:
$kommentti = str_replace(""n", "<br>", $kommentti);
Tämmöseks:
$kommentti = str_replace("\n", "<br>", $kommentti);

Niin pitäis toimii!

snakari [28.02.2002 10:54:06]

#

Ja tää rivi:

fwrite($t, "Lähettäjä: <a href=mailto:". $email ."</a>". $nimi ."</a> <br>");

Tämmöseks:

fwrite($t, "Lähettäjä: <a href=mailto:". $email .">". $nimi ."</a> <br>");

Plafe [05.04.2002 15:46:11]

#

Tuohon voisi olla järkevää lisätä HTML -koodin esto. Eli lisätkää nämä rivit ennen kuin tuo kommentit.txt avataan:

$nimi = stripslashes(htmlspecialchars($nimi));
$osoite = stripslashes(htmlspecialchars($email));
$kuvaus = stripslashes(htmlspecialchars($kommentti));

Plafe [05.04.2002 15:47:41]

#

Hieman typoja eli muuttakaa $osoite --> $email ja $kuvaus --> $kommentti

snakari [05.04.2002 17:52:30]

#

Joo, siinä oli html-esto mutku toi antin lisäys ei oo paras!

JohnDoe [24.07.2002 14:38:40]

#

Tässä ei alleviivata mutta tyylikästä olisi laittaa lomake ja prosessori eri iedostoon ja tarkastellä mistä muuttujat tulee, viittaaja on oikein(ei ole tehty muualla lomaketta joka tuubaa työntaa) ja muuttujat eivät ole url:ssä (refresh, F5). Näin saadaan vähän rajoitettua tulvaamista (flood). Myöskään samaa dataa ei tulisi tunkea suurissa määrin todelisen tiedon joukkoon joten voitaisiin tarkastaa onko ko. infoa juuri lisätty esim. jonkinlaisesta lokista, ja rajoittaa saman IP lähetys esim kertaan minuutissa. Näillä korjauksilla!

polle_ [04.10.2002 19:29:24]

#

asdas

polle_ [04.10.2002 19:29:33]

#

asdas

jonsku [03.01.2004 00:06:54]

#

siis pitääkö tolle tekstitiedostolle antaa 777 tai 666 oikat?

Thief [12.01.2004 21:40:22]

#

Muutenhan tuo näyttää pelittävän mutta jos tarkemmin ajattelee ni se tulostaa epäloogisesti tiedostot vanhimmast uusimpaan.. niin että uusin on alimmainen...

Eipä järkeä siinä ole..

ZeBe [06.02.2004 13:32:59]

#

Siis uusinhan kuuluu olla alimmaisena.... vai?

Sami M [21.02.2004 22:56:38]

#

Toimiiko tuo muka. Aina kun kokeilen tuota, niin siihen tulee sivu, joka häviää melkein heti, mutta siinä lukee selväsi jotakin "Warning" monta kertaa.

kayttaja-1634 [12.03.2004 07:47:28]

#

Kokeilin tuota, mutta minulla se rupesi jotenkin looppaamaan. Avasin index.php:n ja se tulosti äärettömästi niitä kommenttiformeja sinne. Mutjoo, ehkä tein jotain väärin :-D


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta