Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Notice: Undefined index
Forum PHP.pl > Forum > Przedszkole
wSBk
Witam.
Wykozystując skrypt z Algorytmy.pl po uruchomieniu zwraca mi taki błąd:
Notice: Undefined index: login in /var/www/html/intranet/index.php on line 38
Notice: Undefined index: haslo in /var/www/html/intranet/index.php on line 39
Notice: Undefined index: akcja in /var/www/html/intranet/index.php on line 41

  1. <?php
  2. 38. $login = $_POST["login"];
  3. 39. $haslo = $_POST["haslo"];
  4. 40.
  5. 41. if ($_GET["akcja"]=="wyloguj") { // wylogowanie
  6. ?>

Czego dotyczy ten błąd?
Cezar708
to nie jest blad tylko Notice, czyli interpretator PHP mówi Ci:

"Słuchaj w tablicy $_POST nie ma klucza `login`"

widocznie w momencie gdy wywolujesz ten skrypt nie jest jeszcze do $_POSTa zapisana ta wartosc

warto w takich momentach uzywac http://pl2.php.net/manual/en/function.isset.php lub http://pl2.php.net/manual/en/function.empty.php
RAFAELLO14
a co do GETa mozesz zrobic tak
  1. <?php
  2. if( isset($_GET["akcja"]))
  3. {
  4.  if ($_GET["akcja"]=="wyloguj")
  5. {
  6. }
  7. }
  8. ?>
strife
Ten błąd dotyczy błędnego/złego deklarowania zmiennych. Zakładam, że po odpaleniu skryptu nie zostają żadne dane wysłane metodą $_POST. Czy mam rację możemy łatwo sprawdzić:

  1. <?php
  2. echo '<pre>';
  3. var_export( $_POST );
  4. echo '</pre>';
  5. ?>


Cytat
Notice: Undefined index: login in /var/www/html/intranet/index.php on line 38


Czy istnieje, klucz login, w tablicy $_POST - nie. Dopiero po wysłaniu zostaje od wysłany/zadeklarowany. Aby uniknąć tego typu błędów możesz posłużyć się isset" title="Zobacz w manualu PHP" target="_manual

  1. <?php
  2. if ( isset( $_POST['login'] ) ) {
  3. $login = $_POST["login"];
  4. }
  5. if ( isset ( $_POST['haslo'] ) ) {
  6. $haslo = $_POST["haslo"];
  7. }
  8.  
  9. if ( isset( $_GET["akcja"] ) ) { 
  10. if ( $_GET['akcja'] == 'wyloguj' ) { // wylogowanie
  11. ?>


Więcej na ten temat znajdziesz w manualu i na forum pod hasłem raportowanie błędów.

Pozdrawiam.
wSBk
Super dziękuję za pomoc.
Prosiłbym jeszcze o przetłumaczenie tej informacji:

Notice: Undefined variable: login in /var/www/html/intranet/index.php on line 50


  1. <?php
  2. } else if ($login<>"" and $haslo<>"") {
  3. ?>
mike
Cytat(wSBk @ 7.05.2007, 15:43:59 ) *
Prosiłbym jeszcze o przetłumaczenie tej informacji:
No chyba sobie z nas żartujesz angrysmiley.gif
translatica.pwn.pl
wSBk
generalnie nie chodzi tu o angielski lecz o programowanie.
kwiateusz
no to po przetłumaczeniu dowiesz sie ze podobnie jak z tym indexem czyli zadeklaruj zmienna wcześniej...
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.