Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Moja księga gości, amatorszczyzna no ale
kiler129
post
Post #1





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Napisałem b. prostą księgę gości i mam 2 pytania
1. Dlaczego w tytule strony, w pogrubionych tekstach sa krzaki ?
2. Jak zrobic wywlanie tagów html/php z wypowiedzi ?

Kod jest taki:

index.html
  1. <title>Księga gości - wpisz się</title>
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  3.  
  4. Witaj w księdze gości !
  5.  
  6. <form action="zapisz.php" method=get>
  7. <b>Imię/pseudo:</b> <input type="text" name="imie" size=40 maxlength=400><br>
  8. <b>E-mail/gg:</b> <input type="text" name="kontakt" size=40 maxlength=40><br>
  9. <b>Wpis:</b> <textarea name="wpis" style="width: 466px; height: 107px"></textarea><br>
  10. <br><br><br>
  11. <input type="submit" value="Wpisuj!">
  12.  
  13. </html>


zapisz.php
  1. <?
  2.  
  3. $imie=$_GET['imie'];
  4. $kontakt=$_GET['kontakt'];
  5. $wpis=$_GET['wpis'];
  6. $ip=$_SERVER['REMOTE_ADDR'];
  7. $data=date("d-m-Y H:i:s");
  8.  
  9. $fp=fopen("wpisy.txt", "a");
  10. flock($fp, 2);
  11. fwrite($fp, "<b>Data wpisu: </b>".$data."<br>");
  12. fwrite($fp, "<b>Imię/pseudo: </b>".$imie."<br>");
  13. fwrite($fp, "<b>E-mail/gg: </b>".$kontakt."<br>");
  14. fwrite($fp, "<b>Treść wpisu: </b><br>".$wpis."<br>");
  15. fwrite($fp, "<hr><br><br>");
  16. flock($fp, 3); 
  17. fclose($fp); 
  18.  
  19. $fp=fopen("adminlog.html", "a");
  20.  
  21. flock($fp, 2); 
  22. fwrite($fp, "<b>Data wpisu: </b>".$data."<br>");
  23. fwrite($fp, "<b>Imię/pseudo: </b>".$imie."<br>");
  24. fwrite($fp, "<b>E-mail/gg: </b>".$kontakt."<br>");
  25. fwrite($fp, "<b>Treść wpisu: </b><br>".$wpis."<br>");
  26. fwrite($fp, "<b>IP: </b>".$_SERVER['REMOTE_ADDR']."<br>");
  27. fwrite($fp, "<b>Ident. przeglad.: </b>".$_SERVER['HTTP_USER_AGENT']."<br>");
  28. fwrite($fp, "<hr><br><br>");
  29. flock($fp, 3); 
  30. fclose($fp); 
  31.  
  32. echo "Wpis został dodany pomyslnie ! <br><br>";
  33. echo '<A HREF="zobacz.php">Pokaż wpisy</A>';
  34. ?>


zobacz.php
  1. <title>Księga gości - przegląd wpisów</title>
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  3. </html>
  4. <?
  5. include 'wpisy.txt';
  6. ?>



Wszystkie uwagi i propozyce mile widziane (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
yaro
post
Post #2





Grupa: Zarejestrowani
Postów: 160
Pomógł: 4
Dołączył: 22.04.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Co do punktu 2 to:
Funkcja do usuwania tagów html i kodu php to: strip_tags()" title="Zobacz w manualu php" target="_manual
Natomiast co do punktu 1 to nie wiem o co dokładnie chodzi, gdzie ci sie robią krzaczki, opisz dokładniej

ps: popraw tytuł tematu zgodnie z regulaminem
Go to the top of the page
+Quote Post
kiler129
post
Post #3





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Co do wywala nie tagów to jakoś nieumiem użyć tej funkcji (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png)
A co do krzaków to zajrzyj sobie na TEST
Go to the top of the page
+Quote Post
Ludvik
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Znaki masz zapisane w kodowaniu windows-1250, natomiast w dokumencie zapisujesz, żeby przeglądarka traktowała tekst jakby był kodowany iso-8859-2. Albo zmień informację o kodowaniu, albo lepiej zapisz cały plik zakodowany w iso-8859-2.

  1. <?php
  2. $txt = '<b>tekst z <span>tagami</span></b>';
  3. $txt = strip_tags($txt);
  4. ?>
Go to the top of the page
+Quote Post
kiler129
post
Post #5





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Cytat(Ludvik @ 25.06.2006, 00:09 ) *
Znaki masz zapisane w kodowaniu windows-1250, natomiast w dokumencie zapisujesz, żeby przeglądarka traktowała tekst jakby był kodowany iso-8859-2. Albo zmień informację o kodowaniu, albo lepiej zapisz cały plik zakodowany w iso-8859-2.

  1. <?php
  2. $txt = '<b>tekst z <span>tagami</span></b>';
  3. $txt = strip_tags($txt);
  4. ?>


Ale jak to zaimpletować do księgi ?
Go to the top of the page
+Quote Post
strife
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Grr.. napisałem Ci obszernego posta, ale nacisnąłem przed wysłaniem w Operze Ctrl + W (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif) No cóż, nie pozostaje mi nic innego jak napisać jeszcze więcej (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ad. 1 Najczęstsze błędy, pkt 4, czyli spróbuj w dokumencie, w którym zapisujesz te dane umieścić surowy nagłówek, ( header" title="Zobacz w manualu php" target="_manual ) z odpowiednim kodowaniem, może to pomoże.

  1. <?php
  2. header('Content-type: text/html; charset: ISO-8859-2');
  3. ?>

Ad. 2 Jeżli przeczytałeś zawartość odnośnika, który podał Ci kolega wyżej i umiesz czytać to nie powinieneś mieć problemów z umieszczeniem jej w Twoim skrypcie, popróbuj - pomyśl, i nie czekaj na gotowe (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Co do skryptu, no to trochę pozostaje do życzenia, po pierwsze zamienił bym metodę $_GET na $_POST, ponieważ przesyłanie takich danych w pasku adresu jest mało skuteczne np. ze względu na ograniczenie w nim długości. Po drugie, przy wypełnieniu formularza i wciśnięciu F5 te same dane zostają ponownie nam wysłane, to nie powinno mieć miejsca, zrób po wpisaniu danych przekierowanie ( po raz kolejny header" title="Zobacz w manualu php" target="_manual ), po trzecie antyflood'ing, ponowny wpis do księgi za 30 sekund, czyli ochrona przed spamerami (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Co więcej, wywołujesz tutaj metodę fwrite" title="Zobacz w manualu php" target="_manual, za dużo razy, lepiej takiego string'a połączyć i zapisać go za jednym zamachem. Na razie to Tyle (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozdrawiam!
Go to the top of the page
+Quote Post
marcim
post
Post #7





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.06.2006
Skąd: Kłodzko

Ostrzeżenie: (0%)
-----


Witaj!
Kolego księga na moim poziomie, a w pliku zobacz.php do wywalenia wszystkich zbędnych tagów można by użyć do odczytu fgetss" title="Zobacz w manualu php" target="_manual w jakiejś pętli np:
  1. <?php
  2. $wp = fopen("wpisy.txt", 'r');
  3. while (!feof($wp))
  4. {
  5. $odczyt = fgetss($wp, filesize("wpisy.txt", ), '<br>');
  6. echo $odczyt;
  7. }
  8. ?>

Tylko jedna niedogodność w tym wpisie, to usunie też twoje tagi, ale strip_tags() też chyba wszystkie usówa?

Ten post edytował marcim 25.06.2006, 08:32:00
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 17:50