Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz i zabezpieczenia
Forum PHP.pl > Forum > PHP
mThW
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).
zombie
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. cool.gif
mThW
1. strips_tags ... uzywalem tej funkcji i tak jak pisze, usuwa mi wszystkie tagi html w $wpis
czyli dodawane sa same txt z formularza i wyglada to tak:

komenatrz autor: autor gg: gg mail: mail: www: www

a chce zeby bylo oprawione w tabelke tak jak widzisz w kodzie, strips_tag wywala mi wszystkei tagi html a chodzi mi tylko zeby likwidowal znaczniki w $_POST['komentarz'].

2. Nie wiem jak to zrobic NIE ZNAM php ani tym bardziej SQL'a, jesli bylbys tak mily do pomocy to daj znac na gg: 2903777, jesli chodzi o baze mysql to mam.


Moglbys wyedytowac moj skrypot tak zeby bylo wszystko ok?
Zabezpieczenie musi byc bo juz atakowali moja strone, pisali kody php i wklejali w formularze.

Szukam osoby, ktora pomoze przy budowie witryny od strony php (drobnostki)... GG: 2903777 - w zamian reklama!!

HELP sad.gif

Pomocy? sad.gif
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.