![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 22.05.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich.
Miałem zrobić prosty formularz zgłoszeniowy na konferencję - działał, ale na moim serwerze został zainstalowany PHP5 i przestał. Problem polega na tym, że zmienna o nazwie pola w formularzu nie zawiera wartości tego pola. Formularz jest wysyłany metodą post. Mówiąc inaczej skrypt nie odczytuje danych wysłanych przez formularz, np. pole "Nazwisko" ma zmienną $nazwisko ale nie jest ona odczytywana przez skrypt (zmienna ta jest pusta). Taki prosty testowy formularz znajduje się tu: knsa.amu.edu.pl/test/test.php a wygląda tak: Kod <p>Tu wyswietlaja sie dane z formularza:</p>
<?php echo("<p>Nazwisko: $nazwisko<br />Imie: $imie</p>"); ?> <h1>Formularz testowy</h1> <p>Tu jest formularz:</p> <form method="post" action="./test.php" enctype="application/x-www-form-urlencoded" > Nazwisko: <input type="text" name="nazwisko" size="50" /> <br /><br /> Imie: <input type="text" name="imie" size="50" /> <br /><br /> <input type="submit" value="Wyslij" /> </form> Potrafi ktoś z was przystosować to do PHP5? Z góry dziękuję za pomoc. |
|
|
![]()
Post
#2
|
||
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 29.12.2003 Skąd: OHIO Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj dostać się do zmiennych za pomocą tablicy $_POST. Np.
$_POST[imie] i $_POST[nazwisko] widać admin wyłączył register_globals -------------------- |
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 22.05.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie! Pomogło.
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
No właśnie. Jakiej konstrukcji w końcu użyć
$_POST[zmienna] $_POST['zmienna'] $_POST["zmienna"] Czy to ma głębszeznaczenie? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
$_POST[zmienna]
php próbuje znaleźć stałą o nazwie zmienna, nie znajduje jej, wyświetla warning i traktuje zmienna jako string. Generowany jest warning, czyli - źle. $_POST['zmienna'] $_POST["zmienna"] Obie konstrukcje są dobre. Poszukaj informacji na forum o róznicach pomiędzy ' a ". Osobiscie " używam tylko wtedy jeśli string zawiera kody sterujące jak np. rn czy podobne. Dużo ludzi pisze też: $_POST["$foo"] w przypadku, gdy w $foo zawiera sie szukany index, ale to jest nieoptymalne, gdzyż php musi sparsowac string i wydobyć z niego zmienna po czym dopiero pobrać jej wartość, dlatego zamiast tego, lepiej pisać: $_POST[$foo] - tu pomijamy parsowanie stringa. -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Rozumiem teraz. Dzięki.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 7.01.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To raczej nie jest temat z php5...
-------------------- Look it...
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 636 Pomógł: 0 Dołączył: 22.10.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Nie PHP5 a PHP4 i to dosc stare
![]() Cytat W php 4.2.0 i późniejszych, domyślne ustawienie, które udostępniało predefiniowane zmienne w zasięgu globalnym, zostało zmienione. Zmienne nadchodzące metodą GET i POST oraz zmienne serwera domyślnie nie są już umieszczane w zasięgu globalnym. Zamiast tego umieszczane są w odpowiednich tablicach superglobalnych.
Nadal można uruchomić udostępnianie tych zmiennych w zasięgu globalnym przez ustawienie dyrektywy konfiguracyjnej register_globals na "On" w pliku php.ini. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 7.01.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To moze jakiś moderator to przeniesie do "poczatkujących"..
-------------------- Look it...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 8.07.2025 - 03:22 |