Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz i zabezpieczenia, Potrzebne, na KG, system komentarzy, na plikach txt.
mThW
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 19.07.2006

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


Witam

Mam problem, posiadam formularz i kod php zapisujacy dane do pliku txt.
Chce zabezpiczeyc go przed tagami html, tak zeby po dodaniu komenta html nie zostal wyswietlony jako txt tylko po prostu usuniety.
Probowalem juz przez rozne funkcje i znaczniki <xmp> i </xmp>, ale tutzaj z koleji tekst miedyz tymi znacznikami jest w brzydkiej czcionce i rozpycha strone (nie wiem dlaczego:|).

Kod wyglada tak:

  1. <?php
  2.  
  3. //Pass Save by oPL^^
  4.  
  5. //sprawdzamy czy podawana jest zmienna login, jesli nie to wyswietlamy formularz p
    ytajacy o haslo
  6. if (empty($_GET['cmt']))
  7. {
  8.  
  9.  
  10. }
  11.  
  12. //jesli uzytkownik wypelnil i wyslal formularz, to zapisujemy dane
  13.  else
  14.  {
  15.  
  16.  
  17. //formatujemy dane do zapisania
  18. $wpis=('<table style="border-top: 1 dotted #000000">
  19. <tr>
  20. <td height="10px"></TD><td></TD>
  21. </TR>
  22. <tr>
  23.  <td style="text-align: center; font-size: 12px;" width="50" valign="top">
  24.  <table><tr><td width="25" height="25"><img SRC="images/zapyt.png" border="0"></TD></TR></TABLE>
  25.  </TD>
  26.  <td style="text-align: justify;">
  27.  <I><xmp>'.$_POST['komentarz'].'</xmp></I>
  28.  </TD>
  29. </TR>
  30. <tr height="6">
  31. <td><hr style="width: 90%; height: 1; color: red; border-collapse: collapse"></TD><td><hr style="width: 100%; height: 1; color: #6800D8; border-collapse: collapse"></TD>
  32. </TR>
  33. <tr>
  34.  <td></TD>
  35.  <td>
  36. <!-- '.$_POST['ip'].' -->@ <a title="'.$_POST['mail'].'" target="_blank" HREF="mailto:'.$_POST['mail'].'"><B>'.$_POST['nick'].'</B></A>&nbsp;(<B>'.date('d.n.Y - H:i').'</B>)<BR>
  37. WWW: <a title="Strona WWW" target="_blank" HREF="http://'.$_POST['www'].'"><B>'.$_POST['www'].'</B></A>&nbsp;GG: <img src="http://www.gadu-gadu.pl/users/status.asp?id='.$_POST['gg'].'&styl=1" width=16 height=16 align=middle border=0>&nbsp;<a title="Wyślij wiadomość" HREF="gg:'.$_POST['gg'].'"><B>'.$_POST['gg'].'</B></A>
  38.  </TD>
  39. </TR>
  40. </TABLE>
  41. <BR>
  42. <BR>
  43.  
  44.  
  45.  
  46. ');
  47.  
  48. $plik = fopen('cmt/add.txt','a');
  49. //zapisujemy wpis do pliku
  50. if(fputs($plik, $wpis)) echo '<center><br>Wpis został dodany, dziękujemy!<meta http-equiv="refresh" content="2;url=http://miasto-glubczyce.info/index.php?oms=ksiega_gosci"><BR><BR></center>';
  51. //zamykamy dostęp do pliku
  52. fclose($plik);
  53.  
  54. }
  55.  
  56. include("cmt/add.txt");
  57.  
  58. ?>
  59.  
  60. <!--  
  61.  
  62. -->
  63. <BR>
  64. <BR>
  65.  
  66. <BR>
  67. <form method="POST" action="http://miasto-glubczyce.info/index.php?oms=ksiega_gosci&cmt=add">
  68.  
  69. <table frame="vsides" bgcolor="#F5F5F5" align="center" border="0" width="500" style="border-collapse: collapse;" bordercolor="#595959">
  70. <tr>
  71. <td style="text-align: right; border-top: 1 solid #595959;">
  72. Imie/nick:
  73. </TD>
  74. <td style="border-top: 1 solid #4F4F4F">
  75. <input size="16" maxlength="16" type="text" name="nick" /> *<input size="16" value="<?php echo $_SERVER["REMOTE_ADDR"]; ?>" maxlength="17" type="hidden" name="ip" /><br />
  76. </TD>
  77. </TR>
  78.  
  79. <tr>
  80. <td style="text-align: right;">
  81. e-mail:
  82. </TD>
  83. <td>
  84. <input size="16" maxlength="60" value="Brak" type="text" name="mail" /><br />
  85. </TD>
  86. </TR>
  87.  
  88. <tr>
  89. <td style="text-align: right;">
  90. WWW:
  91. </TD>
  92. <td>
  93. <input size="16" maxlength="60" value="Brak" type="text" name="www" /> (bez 'http://')<br />
  94. </TD>
  95. </TR>
  96.  
  97. <tr>
  98. <td style="text-align: right;">
  99. GG:
  100. </TD>
  101. <td>
  102. <input size="16" maxlength="60" value="Brak" type="text" name="gg" /><br />
  103. </TD>
  104. </TR>
  105.  
  106. <tr>
  107. <td style="text-align: right;">
  108. Treść:
  109. </TD>
  110. <TD>
  111. <textarea name="komentarz" rows='6' style='width:400px' /></textarea> *<br />
  112. <center>
  113.  <font SIZE="1" color="red">(bez tagow html)</FONT><BR>
  114. </CENTER>
  115. </TD>
  116. </TR>
  117.  
  118. <tr>
  119.  <td style="border-top: 1 solid #595959"></TD>
  120.  <td style="border-top: 1 solid #595959">
  121. <center> 
  122.  <input type="submit" value="Dodaj">&nbsp;&nbsp;<input type="reset" value="Reset" />
  123. </CENTER>
  124.  </TD>
  125. </TR>
  126. </TABLE>
  127. </form>


Jak uzyje funkcji ktora zamienia html na znaki, to wywala mi na stronei caly kod znajdujacy sie w $wpis.
Chcialbym jeszcze zmienic miejsce dodania wpisu, skrypt dodaje wpis na sam dol pliku, jak ustawic go tak niech dodaje na sama gore?

Prosze o jakies rady... NIE MAM POJECIA o php.
PS szukam osoby do wspolpracy przy stronie www.miasto-glubczyce.info (php).

Ten post edytował mThW 13.08.2006, 23:42:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zombie
post
Post #2





Grupa: Zarejestrowani
Postów: 296
Pomógł: 0
Dołączył: 9.05.2002
Skąd: Warszawa

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


1. do wyrzucania tagów jest funkcja strip_tags" title="Zobacz w manualu php" target="_manual

2. Nie wiem jaki sens ma formatowanie tekstu przed zapisaniem. To tylko niepotrzebnie zwiększa objętość pliku, a domyślam się, że format każdego wpisu jest taki sam...? Proponował bym raczej zapisać same dane, a sformatować przy wyświetlaniu, czyli zapisywać coś na kształt:
Kod
komentarz|IP|GG|mail|www|...

... pamiętaj, żeby pozbyć się znaków końca linii (/r/n).

3. Żeby zapisać dane do pliku na górę, musisz odczytać plik do tablicy. Wstawić na początek tablicy nowy wpis i potem całość zapisać.

... a najlepiej zainetersuj się SQL'em - to łatwiejsze i efektywniejsze, niż zabawa z plikami. (IMG:http://forum.php.pl/style_emoticons/default/cool.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 9.10.2025 - 04:42