Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem ze spacją metoda GET
Forum PHP.pl > Forum > Przedszkole
hapek1
witam
no więc najpierw do każdego atrybutu adresu przypisywana jest zmienna np.
  1. $string1 = $_GET['text1'];

później sprawdzam czy zmienna ma wartość null, jeśli tak to przypisuje do niej wartość
  1. if($string1 == null) $string1 = "Ble ble";


następnie mam formularz i w value mam te zmienne (aby po naciśnięciu OK i przeładowaniu strony nadal te dane były wpisane)
  1. echo "text 1 <input type=text name=text1 style=width:350px; value=$string1>";

na końcu zmienne są postawiane i generują obrazek (obrazke.php?text1=ble ble)

Problem polega na tym że jeśli w formularzu wpiszę dwa wyrazy oddzielone spacją to w adresie url będzie Ble+Ble i po przeładowaniu strony w formularzu będzie tylko Ble i na obrazku tylko Ble.
Jeśli przypisuję ręcznie zmienną i mam tam spację to używam  
Proszę o pomoc jak rozwiązać mój problem. Tak aby wyraz po spacji były w formularzu i na obrazku
croc
Po prostu - zgodnie ze specyfikacją HTML - pozamykaj atrybuty w cudzysłowy.
hapek1
ale gdy pozamykam w cudzysłowy to będzie kolidowało z cudzysłowem z echo, a jeśli dam apostrof to zmienna nie będzie działała.
lobopol
to daj cudzysłowiom \"
croc
Kiedyś walczyłem z zapisywaniem wszystkiego w cudzysłowach w PHP, ale to walka z wiatrakami. Jak chcesz zachować zapis w cudzysłowach, to w ich wnętrzu możesz użyć cudzysłowów jako znaków, poprzedzając je znakiem \ - czyli np.:
  1. echo "Lubię \"Trudne Sprawy\"";
hapek1
dodanie tych cudzysłowów nic nie daje.
gdy w formularzu wpisze zamiast spacji + to działa mi tak jak powinno, ale czy jest jakiś sposób aby gdy wpisze w formularzu spacje to żeby przekształcało na + (czyli z + na %2B)
by_ikar
zamiast cudzysłowia w echo użyj apostrofu, raz że szybsze, to i czytelniejsze, nie trzeba escapować cudzysłowia w kodzie html:

Kod
echo 'text 1 <input type="text" name="text1" style="width:350px;" value="'.$string1.'">';


to są absolutne podstawy..
croc
Coś źle robisz, bo wysyłając dane metodą GET możesz mieć wszelkie znaki i one same się kodują do URL.
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.