Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]GET wysłanie &
Forum PHP.pl > Forum > Przedszkole
Kiui
Witam.

Mam pytanie jak w adresie przesłać & aby nie był traktowany jak rozpoczęcie nowej zmienej.

np &pierwszazmiena=mojopis&moijopis&kolejnazmiena
_Borys_
Dołączasz do adresu zmienną zakodowaną w urlencode(), po odbiorze formularza dekodujesz urldecode()
ale nawet bez tego nie ma problemu, przesyła & prawidłowo, chyba że także używasz = to wtedy nie zadziała bez kodowania
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type" content="text/html" charset="utf-8"/>
  5. </head>
  6. <body>
  7. <?php
  8.  
  9. echo '<pre>';
  10. print_r($_GET);
  11. echo '</pre>';
  12.  
  13. ?>
  14. <form action="" method="get">
  15. <input type="checkbox" name="ch" value="<?='a&b&c'?>"/>
  16. <input type="text" name="text" value="d&e&f"/>
  17. <input type="submit" value="OK" />
  18. </form>
  19. </body>
  20. </html>
mch.frnc
Cytat(_Borys_ @ 5.07.2013, 19:29:47 ) *
Dołączasz do adresu zmienną zakodowaną w urlencode(), po odbiorze formularza dekodujesz urldecode()

Albo ręcznie użyj:
  1. &amp;
Beniooo
Kolego, nie widzisz, że &amp; zawiera samo w sobie & ?
mch.frnc
Cytat(Beniooo @ 5.07.2013, 20:23:25 ) *
Kolego, nie widzisz, że &amp; zawiera samo w sobie & ?

Kiui nie sprecyzował co ma na myśli mówiąc "w adresie przesłać (...)" więc w domyśle zrozumiałem to jako przesłanie po kliknięciu w htmlowy url.
Żeby zastąpić ampersand bezpośrednio w pasku adresu wystarczy:
  1. %26
(ale to przecież również sprowadza się do urlencode / urldecode).
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.