Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Bład w formularzu
Forum PHP.pl > Forum > Przedszkole
pepe67
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?
Fixer
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
pepe67
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.
Shili
" 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.
pepe67
Shili Dzieki, polecenie stripslashes pomogło!
Zbawca normalnie biggrin.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.