Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]"Skrypt komentarzy"
Forum PHP.pl > Forum > Przedszkole
ReBeLs513
Od dwóch godzin męczę się, aby ten skrypt:
  1. <?php
  2. if (isset($_POST['submit'])) {
  3. if (isset($_POST['message'])) {
  4. if (isset($_COOKIE['dodano'])) {
  5. echo "<font color=\"red\">Dodałeś(-aś) komentarz! Spróbuj ponownie za 10
  6.  
  7. sekund</font><br><br>";
  8. } else {
  9. $message = str_replace('www','*',$_POST['message']);
  10. $message = ereg_replace("rnrn", "n<P>", $message);
  11. $date=date("H:i d.m.Y");
  12. $message = "<font size=\"1\">&gt&gt&gt ".$date."</font>
  13.  
  14. <br><B>".$_POST['name']."</B><BR>".$message."<P>";
  15. $fp = fopen (basename($_SERVER['PHP_SELF']) . ".txt", "a");
  16. fwrite ($fp, $message);
  17. fclose ($fp);
  18. setcookie ("dodano", "{$_POST['name']}", time()+10);
  19. }
  20. }
  21. }
  22.  
  23. ?>
(formularz mam)
wyświetlał ostatnie wpisy na górze a nie na dole...

te linijki mam zmienić
  1. $message = str_replace('www','*',$_POST['message']);
  2. $message = ereg_replace("rnrn", "n<P>", $message);
?
darko
Hej. Jeśli dobrze zrozumiałem to próbujesz zapisać do pliku dane, ale na jego początku, rozwiązanie problemu znajduje się w komentarzach do opisu funkcji fwrite trzeba je tylko trochę zmienić. Linie kodu, który podejrzewasz o to, że mogą wpłynąć na kolejność zapisu do pliku nie mają z tym nic wspólnego. Może poza tym, że zamieniają jeden ciąg tekstu na inny. Funkcje z rodziny ereg_* są zdeprecjonowane i należy używać odpowiedników z rodziny preg_*
ReBeLs513
  1. <?php
  2. if (isset($_POST['submit'])) {
  3. if (isset($_POST['tresc'])) {
  4. if (isset($_COOKIE['dodano'])) {
  5. echo "<font color=\"red\">Dodałeś(-aś) wiadomość! Spróbuj ponownie za 10
  6.  
  7. sekund</font><br>";
  8. } else {
  9.  
  10. @chmod("tekst.txt", 0777);
  11. $plik = fopen ("tekst.txt","a");
  12. $date=date("H:i d.m.Y");
  13. $autor=$_POST['autor'];
  14. $tresc=$_POST['tresc'];
  15. $wpis="<p><i>$date</i> <b>$autor</b><br>$tresc. </p>";
  16. fputs($plik,$wpis);
  17. fclose($plik);
  18. setcookie ("dodano", "{$_POST['tresc']}", time()+10);
  19. }
  20. }
  21. }
  22.  
  23. print("<a href=form.php>Dodaj wiadomość</a>");
  24. ?>

Ja te print zmienić? bo ustawilem ciacho i jak ktos jeszcze raz doda wiadomosc to jest, że i nie może dodać i, że dodał (a nie dodał haha.gif)ohmy.gif
darko
Zdebuguj ten skrypt albo zobacz var_dumpem co zawiera $_COOKIE['dodano'] i opisz dokładniej swój problem, bo ja już nie wiem czy chodzi Ci o kolejność wypisywania komentarzy na stronie czy kolejność ich zapisu do pliku czy o jedno i o drugie? Jeśli o akcję z plikiem to przeczytaj jeszcze raz mój pierwszy post, znajduje się tam odpowiedź na Twoje pytanie (w linku) trzeba go tylko uważnie przeczytać.
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-2025 Invision Power Services, Inc.