Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Bład w formularzu
pepe67
post 20.03.2008, 11:25:29
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 11.10.2007

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


Witam. Na moim forum posiadam Formularz przerabiający tekst na określone reguły przyjęte na forum, ale gdy ktoś wpisze jakiś cytat w .". np. "Była ladna pogoda" w wygenerowanym tekscie pojawia się nagle /"Była ładna pogoda/"

plik Generator.php
  1. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  2. </head>
  3. <title>Generator powitań</title>
  4. <style type="text/css">
  5. body {
  6. background: black;
  7. }
  8. <body text="#FFFFF" link="#FFFFF" alink="#FFFFF" vlink="#FFFFF">
  9. <br>
  10. <form action="wygenerowane.php" method="post" target="_blank">
  11. Nick:<br>
  12.  
  13. <input type="text" name="Nick" /><br>
  14. <br>
  15. Skad:<br>
  16. <input type="text" name="Skad"><br><br>
  17. O sobie:<br>
  18. <textarea name="onim" cols="60" rows="6"></textarea> <br><br>
  19.  
  20. </body>
  21. </html>


Plik wygenerowane.php
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  4. </head>
  5. <title>Generator powitań - Wygenerowano Kod</title>
  6. <style type="text/css">
  7. body {
  8. background: black;
  9. }
  10. </style>
  11. <body text="#FFFFF">
  12. <?php
  13.  
  14. {
  15. echo 'Nick: ', $_POST['Nick'] ,'';
  16. }
  17. ?>
  18. <br><br>
  19. Skad: <?php
  20. {
  21. echo $_POST['Skad'] ;
  22. }
  23. ?>
  24. <br><br>
  25. O sobie: 
  26. <?php
  27. $Tablica=explode("\n",$_POST["onim"]);
  28. for($c=0;$c<count($Tablica);$c++)
  29. echo "<br>". $Tablica[$c];
  30. ?>
  31. </body>
  32. </html>


Co jest nie tak?

Ten post edytował pepe67 20.03.2008, 13:51:35
Go to the top of the page
+Quote Post
Fixer
post 28.05.2008, 18:52:39
Post #2





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 24.10.2004
Skąd: TG

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


bo użyłeś rozdzielania fraz po znaku końca lini które wedrują do zmiennej tablicowej... zamiast tego użyj wyrazen regularnych
nie zapomnij o odpowiednim filtrowaniu danych pobranych z formularza bo w przeciwnym razie zrobisz sobie tylko furtki przez które będzie można zrobić kuku z twoim forum tongue.gif

Ten post edytował Fixer 28.05.2008, 18:54:08


--------------------
Go to the top of the page
+Quote Post
pepe67
post 31.05.2008, 15:18:25
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 11.10.2007

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


chyba chodziło ci tylko o tablice, jednak mi chodzi o każde pole.

W tym czasie zanim uzyskałem odpowiedź troszkę przeedytowałem genetrator.

Wygląda mniej wiecej tak:

Plik generator.php:
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  4. </head>
  5. <title>Generator powitań</title>
  6. <style type="text/css">
  7. body {
  8. background: black;
  9. }
  10. </style>
  11. <body text="#FFFFF" link="#FFFFF" alink="#FFFFF" vlink="#FFFFF">
  12. <br>
  13. <form action="wygenerowane.php" method="post" target="_blank">
  14. Nick:<br>
  15.  
  16. <input type="text" name="Nick" value="
  17. <? 
  18. echo $_POST['Nick']
  19. ?>
  20. "><br>
  21. <br>
  22. Skad:<br>
  23. <input type="text" name="Skad" value="
  24. <? 
  25. echo $_POST['Skad']
  26. ?>
  27. ">><br><br>
  28. O sobie:<br>
  29. <textarea name="onim" cols="60" rows="6">value="
  30. <? 
  31. echo $_POST['onim']
  32. ?>
  33. </textarea> <br><br>
  34.  
  35. <input type="submit" value="Generuj" />
  36. <h3>Kliknij Generuj, a następnie przekopiuj ponizszy kod:
  37. </h3><br>
  38. <textarea cols="80" rows="20" readonly="readonly">
  39.  
  40. <?php
  41.  
  42. {
  43. echo 'Nick: ', $_POST['Nick'] ,'';
  44. }
  45. ?>
  46. Skad: <?php
  47. {
  48. echo $_POST['Skad'] ;
  49. }
  50. ?>
  51. O sobie: <?php
  52. {
  53. echo $_POST['onim'] ;
  54. }
  55. ?>
  56.  
  57. </textarea>
  58. </body>
  59. </html>


Jak widać usunąłem tablice, ale nadal nie rozumiem o co chodzi... Po usunięciu ' z post np.
  1. <?php
  2. $_POST['onim']
  3. ?>

na
  1. <?php
  2. $_POST[onim]
  3. ?>


nadal ten sam problem.

Czy można mi to wytłumaczyć jak lalikowi? Nie znam się tak dobrze na PHP.
Go to the top of the page
+Quote Post
Shili
post 31.05.2008, 15:24:02
Post #4





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


" to znak specjalny - jeśli używasz addslashes albo na serwerze jest włączone magic quotes, to tak się robi. Przed wyświetleniem możesz użyc funkcji stripslashes.
Go to the top of the page
+Quote Post
pepe67
post 31.05.2008, 15:46:03
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 11.10.2007

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


Shili Dzieki, polecenie stripslashes pomogło!
Zbawca normalnie biggrin.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 22.07.2025 - 16:05