Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] formularz, textarea
Forum PHP.pl > Forum > Przedszkole
piotr1w
Jak poradzić sobie z następującym problemem:

Formularz:
  1. <form method=post action=a.php>
  2. $tresc = $_POST['tresc'];
  3. <textarea name=tresc>
  4. <?php echo $tresc; ?>
  5. </textarea>
  6. <input type=submit name=submit value=submit>
  7. </form>

Niektóre ze znaków specjalnych po wpisaniu w pole TEXTAREA i wysłaniu formularza, zostają zamienione
np. wysłanie:
tekst "cytat"
powoduje przekazanie:
tekst \"cytat\"

Jak uniknąć tych zmian by to co zostanie wpisane zostało przekazane dalej?

Z góry dziękuję za pomoc
pbnan
  1. <?php echo $tresc; ?>

podmień na:
  1. <?php echo stripslaches($tresc); ?>
piotr1w
Pomogło, ruszyło dalej i pojawił się kolejny problem:
wysyłając np:
tekst "cytat" tekst
przekazuje to poprawnie i wyświetla mi to co wpisałem.

Chcąc wrócić z powrotem na poprzednią stronę i odtworzyć zawartość przekazaną przez:
  1. <input type=hidden name=tresc value=<?php echo stripslashes($_POST['tresc']); ?> >

wszystko od pierwszego znaku " zostaje obcięte i dostaję tylko tekst

Ma ktoś pomysł co może być tego powodem?
Kicok
Powodem jest to, że po tekst jest spacja i przeglądarka myśli, że to już koniec wartości atrybutu 'value'.

Zrób to w ten sposób:
  1. <input type="hidden" name="tresc" value="<?php echo(htmlspecialchars(stripslashes($_POST['tresc']))); ?>">



htmlspecialchars" title="Zobacz w manualu PHP" target="_manual służy m.in. do zamiany: " na &quote;
piotr1w
dziękuję za pomoc i wyczerpującą odpowiedź, pomogło
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.