Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z pobieraniem nazwy pól html i przetwarzaniem ich w php
Forum PHP.pl > Forum > PHP
pawdlk
Witam,

Nie wiem dlaczego ale nie mogę do zmiennej pobrać wartości ukrytego pola jak poniżej w kodzie:

  1. <?php
  2. include ('Common/php/src/smartyInit.inc');
  3. include ('Common/lib/main.inc');
  4.  
  5.  
  6. $logon = $_GET['logon'];
  7. print $logon;
  8. if (!isset( $logon )) $logon = 0;
  9.  
  10. if ($logon != 1){
  11. assignPage("login.tpl");
  12. print "<input type=hidden name=logon value=1>";
  13.  
  14. }
  15. else {
  16. assignPage("userHome.tpl");
  17. }
  18. ?>


Chodzi tu głównie o linijkę :

$logon = $_GET['logon'];

php próbuje mi wmówić, że 'logon' nie istnieje i dlatego zmienna $logon jest zawsze równa 0
Gdzie popełniam błąd?

Pozdrawiam,
Paweł
darko
Formularz wysyłasz metodą GET czy POST ? Wypadałoby go pokazać.
korro
  1. print_r($_REQUEST);

i zobacz co tam siedzi.
pawdlk
Próbowałem kilku dróg, nie wiem do końca czy to jest dobrze, bo jestem świeżakiem w php:

ale dodawałem też formularz w taki sposób:

  1. if ($logon != 1){
  2. assignPage("login.tpl");
  3. print "<form method=get>";
  4. print "<input type=hidden name=logon value=1>";
  5. print "</form>";
  6. }


zaś jeśli chodzi o
  1. 1.
  2. print_r($_REQUEST);


to zwraca to jakieś śmieci z openvpna, nad którym pracowałem wcześniej - czyli coś co nie ma związku z tym z czym teraz będę walczył

  1. print_r($_GET);
zwraca tylko coś takiego :

Array ( )

darko
  1. if ($logon != 1) {
  2. assignPage("login.tpl");
  3. print "<form method=\"get\">";
  4. print "<input type=\"hidden\" name=\"logon\" value=\"1\" />";
  5. print "<input type=\"submit\" value=\"zapisz\" />";
  6. print "</form>";
  7. }

Dobrze byłoby jeszcze dodać atrybut action
pawdlk
Z cudzysłowami też już próbowałem. Efekt ten sam. Próbowałem przenieść też cały formularz do templatki i $_GET wciąż mi wywala :

Notice: Undefined index: logon in C:/WebServer/...

no i nie pobiera wartości z pola 'hidden'

A to pole na pewno powstaje i istnieje. Wydaje mi się, że $_GET czegoś jeszcze potrzebuje do prawidłowego działania, ale nie mogę tego rozwikłać. 'Googlam' już prawie od 2 godzin i nic..
darko
Cytat(pawdlk @ 28.12.2009, 00:34:18 ) *
Wydaje mi się, że $_GET czegoś jeszcze potrzebuje do prawidłowego działania, ale nie mogę tego rozwikłać. 'Googlam' już prawie od 2 godzin i nic..

Bzdura, pewnie gdzieś po drodze robisz jakieś przekierowanie. Spróbuj formularz wysłać metodą POST i pokaż cały kod odpowiedzialny za wysłanie i odebranie danych z formularza.

//edit
Cytat
Notice: Undefined index: logon in C:/WebServer/...

Nie powinno być Notice: Undefined index: logon in http://localhost/... ?

Przepraszam, że spytam o taką oczywistość, ale jak uruchamiasz swój skrypt, przez http://localhost/skrypt.php czy przez C:/WebServer/skrypt.php (chodzi mi o adres w pasku adresu przeglądarki) ?
pawdlk
darko,

To chyba poświąteczne zaćmienie umysłu spowodowało powstanie tego problemu, który tak naprawdę nie istniał. To co robiłem źle to to, że chciałem przesłać dane w formularzu za pomocą odświeżenia strony sciana.gif a nie za pomocą 'submit'.

Wielkie dzięki za zainteresowanie tematem.

Pozdrawiam,
Paweł
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.