Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Parametr POST nie przekazuje wartości
Forum PHP.pl > Forum > Przedszkole
Koldy
Witajcie, wale z tym do przedszkola bo całkowicie nie ogarniam problemu. Tworzę sobie właśnie własną stronkę i wczoraj zrobiłem logowanie, wczoraj wszystko ładnie, a dziś nie działa..
  1. <form action="<?php echo HOMEURL; ?>?sub=dologin" method="post">
  2. Login: <input name="name" type="text" value="" size="20" /><br />
  3. Hasło: <input name="pswd" type="text" value="" size="20" />
  4. <input name="loginform" type="submit" value=" + " />
  5. </form>


a php to:
  1. function login() {
  2. echo '<div class="info">';
  3. print_r($_POST);
  4. if (isset($_POST['loginform'])) {
  5. $login = checkData($_POST['name']);
  6. $password = checkData($_POST['pswd']);
  7.  
  8. (...)

to print_r jest dane specjalnie, gdyż jak używam metody post, tablica jest po prostu PUSTA! szukam błędu i szukam i znaleźć nie mogę...
Co może blokować metodę POST przed przekazaniem wartości?questionmark.gif
Mackos
Hej no kurde, przecież podałeś fragment definicji funkcji login();
A gdzie masz jej wywołanie ?
Koldy
Wywołanie działa, dlatego go nie podawałem. Przekazuje mnie na stronę tą która ma być, ale funkcja login() zwraca mi txterror z pierwszego IF'a, więc dałem tam print_r($_POST), po czym zobaczyłem, że po przekierowaniu normalnie nie ma żadnej zmiennej POST. WHY? :/
17misiek09
formularz jest w pliku z rozszerzeniem php prawda? ;-)
Koldy
tak, ale nie jest pomiędzy <?php ?>

Wywaliłem ECHO, które było przed zmienną globalną i działa, ale dalej nie kumam dlaczego.......
  1. <form action="<?php HOMEURL; ?>?sub=dologin" method="post">
mortus
Cytat(17misiek09 @ 29.01.2012, 17:50:50 ) *
formularz jest w pliku z rozszerzeniem php prawda? ;-)

A jakie to ma znaczenie?

@Koldy: Tablica $_POST jest pusta, czy są w niej puste wartości pod indeksami name i pswd? Usuń value="" z pól tekstowych.

EDIT:
Pewnie stała HOMEURL odnosiła się do innego pliku niż ten, w którym znajduje się formularz i jednocześnie cały skrypt logowania. Teraz masz błąd/uwagę E_NOTCE, tylko jej nie widzisz, bo raportowanie błędów masz wyłączone.
Podejrzyj sobie kod źródłowy strony, a zobaczysz że adres akcji do obsługi formularza to ?sub=dologin. Czyli odpowiedni fragment HTML wygląda tak:
  1. <form action="?sub=dologin" method="post">
  2. <!-- ... -->
  3. </form>

A wszystkiemu jest winna stała HOMEURL.
Koldy
Bardzo fajnie, że mi to wyjaśniłeś! (:

problem solved, +1 for u smile.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.