prosta ksiega gości w php
jessie - 20-12-2005 16:38
prosta ksiega gości w php
Witam.
Znalazłem skrypt php na prostą ksiege gości [
www.webcoding.shost.pl].
Niestety na innym serwerze nie chciała działać, więc próbuje na ovh, ale tu równiez mam problemy, i licze że może ktoś się kapnie o co tu biega i mnie naprowadzi na dobry trop.
Struktura ksiegi wygląda tak:
[] jest plik index.php a w nim:
<!-- tu mi wyświetlają już dodane wpisy-->
<?php include("wpisy.txt"); ?>
<br><br>Dodaj nowy komentarz<br><br>
<!-- tu formularz do dodawania wpisów-->
<form action="dodaj.php" method="post">
<input type="text" name="nick" /><br />
<input type="text" name="www" /><br />
<textarea name="tresc"></textarea><br />
<input type="submit" name="dodaj" value="dodaj" />
<input type="reset" name="reset" />
</form>
[] plik dodaj.php :
<?php
$ip = $REMOTE_ADDR; // pobieranie ip
$czas=date("d-m-Y"); // pobieranie daty
$tresc=str_replace("\n","<br />", $tresc); // zamienianie enterów na <br />
// tutaj szablon jak ma wygladac poszczegulny wpis:
$szablon = "Dodał/a: <a href=$www>$nick</a> - $czas <br />$tresc<br />Z numeru ip: $ip<br /><hr />";
// koniec szablonu.
// zapisanie
// przypisanie zmniennej $file nazwy pliku
$file="wpisy.txt";
$fd = fopen ("$file", "r");
$wpisy = fread ($fd, filesize ("$file"));
// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "w");
// zapisanie danych do pliku
fwrite($fp, "$szablon \n $wpisy");
// zamknięcie pliku
fclose($fp);
echo "Wpis został dodany! <a href=\"index.php\">Powrót</a>";
?>
[] wpisy.txt , wiadomo -> dodane wpisy
chmody na katalog 777 na wpisy.txt 666
Efekt jest taki:
-Na serwerze ovh po wysłaniu danych z formularza, w pliku txt zapisuje mi sie wszystko opócz zmiennych (czyli jakieś stałe rzeczy np: zwykła linia <hr>).
-Z kolei na moim kompie z użyciem WebServ wszystko(skrypt php) działa poprawnie.
Konsultowałem sie z twórcą skryptu, i polecił mi inaczej zapisać polecenia w dodaj.php , a mianowicie:
<?php
$ip = $REMOTE_ADDR; // pobieranie ip
$czas=date("d-m-Y"); // pobieranie daty
$tresc=str_replace("\n","<br />", $tresc); // zamienianie
enterów na <br />
// zapisanie
// przypisanie zmniennej $file nazwy pliku
$file="wpisy.txt";
$fd = fopen ("$file", "r");
$wpisy = fread ($fd, filesize ("$file"));
// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "w");
// zapisanie danych do pliku
fputs($fp, "Dodał/a: <a href=$www>$nick</a> - $czas <br /
>$tresc<br />Z numeru ip: $ip<br /><hr />\n $wpisy");
// zamknięcie pliku
fclose($fp);
echo "Wpis został dodany! <a href=\"index.php\">Powrót</a>";
?>
ale to również ma dokładnie taki sam efekt jak poprzedni. Nie wiem czy to moja wina, servera czy jeszcze kogoś innego...;)
Więc pytanie jest takie: Jak to zrobić zeby działało?
jessie - 27-12-2005 23:29
Witam.
Rzeczywiście o to chodziło, choć wpadłem na to sam już wcześniej,ale dopiero dzisiaj odpisuje.....
Dopisałem na początku skryptu
$www = $_POST['www'] , i tak samo z resztą zmiennych, czyli w gruncie rzeczy efekt jest dokładnie taki sam.
Dzięki
PawelGIX za przemyślenie sprawy!
Pozdrawiam
zanotowane.pldoc.pisz.plpdf.pisz.plkonstruktor.keep.pl