Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skrypt komentarzy
Forum PHP.pl > Forum > Gotowe rozwiązania
frogger14
Siemka znalazlem w necie fajny skrypt do kometowania

Oto pliki:
:arrow: kom.php
Kod
<html>

<body>

<form method="post" action="add.php">

<table>

<tr><td>nick:</td><td><input type="text" name="imie" size=20></td></tr>

<tr><td>mail:</td><td><input type="text" name="mail" size=20></td></tr>

<tr><td>tekst</td><td><textarea rows="3" name="koment" cols="20"></textarea></td></tr>

</table>

<input type="submit" value="Dodaj">

</form>



</body>

<?



$sciezka = "data.txt";

$plik = fopen($sciezka, "r");

$zawartosc = fread($plik, filesize("data.txt"));  



echo $zawartosc

?>

</body>

</html>


:arrow: add.php

Kod
<?

$napis="Komentarz został dodany";

$dataloc="data.txt";



$zobacz="<a href=kom.php>$napis</a>";



$read=fopen($dataloc, "r");

$fileread = fread($read, filesize($dataloc));

fclose($read);





fwrite (fopen("data.txt", "r+"), "<table border="0" cellpadding="0" cellspacing="0"><td><a href=mailto:$mail class=mail>$imiez $imie </a><br> $komentz $koment <br><hr size="1"> n $fileread</td>

</table>");



fclose(fopen("data.txt", "a+"));



echo ("$zobacz");

?>


i tworzymy plik data.txt gdzie zapisuja sie komentarze. Wszystko jest "OK" lecz gdy chcem zobaczyc ten kometarz to mi go nie wyswietla. Czemu tak jest ?
borec
[php:1:222024072e]<html>
<body>
<form method="post" action="add.php">
<table>
<tr><td>nick:</td><td><input type="text" name="imie" size=20></td></tr>
<tr><td>mail:</td><td><input type="text" name="mail" size=20></td></tr>
<tr><td>tekst</td><td><textarea rows="3" name="koment" cols="20"></textarea></td></tr>
</table>
<input type="submit" value="Dodaj">
</form>

</body>
<?php readfile("data.txt"); ?>
</body>
</html>
[/php:1:222024072e]

update: wogole to to jest bez sensu napisane....
frogger14
Czyli zamiast
Kod
<?



$sciezka = "data.txt";

$plik = fopen($sciezka, "r");

$zawartosc = fread($plik, filesize("data.txt"));    



echo $zawartosc

?>

wrzucic to:
Kod
<?php readfile("data.txt"); ?>

:?:
I tak nie dziala, bo gdy pisze pisze komentarz i naciskam "Dalej" to wyskakuje mi:
Parse error: parse error in /home/piwko/users/piwko.pl/e/epsxe/add.php on line 12
marlowe
Napisałem Ci takie coś:
kom.php
[xml:1:d4b2912728]<form method="get" action="add.php">
<div name="formularz" style="background:#dddddd; text-align:center; width:250px;">
Nick: <input type="text" name="imie" size="20"/><br/>
Mail: <input type="text" name="mail" size="20"/><br/>
Komentarz: <textarea name="koment" rows="3" cols="20"></textarea><br/>
<input type="submit" value="Dodaj"/>
</div>
</form>
<?
//otwieramy plik i jeśli wszystko OK to go wyświetlamy

$plik="data.txt";
$fp=@fopen("$plik","r");
if(!$fp) die("Nie mogę otworzyć $plik");
print(fread($fp,filesize($plik)));
?>[/xml:1:d4b2912728]
add.php
[xml:1:d4b2912728]<?php
//przetwarzamy dane z pliku
$imie=HTMLspecialChars($_GET['imie']);
$mail=HTMLspecialChars($_GET['mail']);
$koment=HTMLspecialChars($_GET['koment']);

//określamy treść

$content="<div name="wynik" style="background:#eeeeee; text-align:center; width:250px;">n<a href="mailto:$mail">$imie</a><br/>n$koment<br/>n</div>";

//otwieramy sobie plik
$plik="data.txt";
$fp=@fopen("$plik","a");
if(!$fp) die("Nie mogę otworzyć $plik");

//zapisuję treść
if(fwrite($fp,$content))
//jeśli wszystko OK wyświetlam treść
{ print($content); }
//a jak nie to fatalnie
else
{ echo "Cosik się podziało"; }
?>
<div name="przejdz" style="background:#dddddd; text-align:center; width:250px;">
<a href="kom.php">Wróć</a> do komentarzy.
</div>
[/xml:1:d4b2912728]
Pozdrawiam
Bartek
frogger14
Dzieki wielkie biggrin.gif A czy mozna zrobic cos takiego aby byl limit 10 komentarzy na jedna strone ?
frogger14
Mam mały problem otóż gdy dodaje komentarz, ten nowszy jest na dole, czy możnabyłoby zrobic cos takiego aby nowszy komentarz byl odrazu umieszczany na gorze ?
peterj
Musisz użyć funckji rewind()
frogger14
A mozna jasniej, bo zbytnio nie kapuje tongue.gif
peterj
Przy zapisie do pliku kod musi wyglądać tak:
[php:1:f2bc1a3ac4]
<?php
$plik="data.txt";
$fp=fopen("$plik", "r+");
rewind($fp);
flock($fp, 2);
fputs($fp, $content);
flock($fp, 3);
fclose($fp);
?>[/php:1:f2bc1a3ac4]
Dzięki funkcji rewind() dane będą dodawane na początku pliku.
BTW powstawiaj do tego kodu warunki te co miales w tym pliku add.php
frogger14
Ten kod co napisales to mam wklaic do kom.php czy add.php (i gdzie). A co oznacza to BTW, i wogole o co chodzi z tym sad.gif

Sorry ze tak lamerskie pytania zadaje ale wogole nie mam pojecia o php. :oops:
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.