Autor | Zpráva | ||
---|---|---|---|
Werewolf Profil |
Ahoj, už déle se setkávám s:
Notice: Undefined index: blabla in C:\Documents and Settings\Administrator\Plocha\w\index.php on line 1 A pořád nevím, co to vlastně znamená. Už jsem vyvodil, že pokud mám soubor C:\Documents and Settings\Administrator\Plocha\w\djpw.php, který obsahuje: <?php session_start(); $blabla = $_GET['blabla']; ?> A začnu prohlížet adresu http://localhost/w/djpw.php?blablabla=blabla, vyhodí mi to Notice: Undefined index: blabla in C:\Documents and Settings\Administrator\Plocha\w\index.php on line 2 Takže u $_GET[]u to nejspíš vzniká tak, že se ten definovaný $_GET[] nepoužívá. Ale jak to, prosím, je doopravdy? Díky |
||
Taps Profil |
#2 · Zasláno: 15. 5. 2009, 20:35:39
Werewolf
Takže u $_GET[]u to nejspíš vzniká tak, že se ten definovaný $_GET[] nepoužívá. Ale jak to, prosím, je doopravdy? zkus dát na začátek stránky error_reporting (E_ALL ^ E_NOTICE); nebo if(!isset($_GET['blabla']) $blabla=''; |
||
Werewolf Profil |
#3 · Zasláno: 15. 5. 2009, 20:40:21
Taps
„zkus dát na začátek stránky error_reporting (E_ALL ^ E_NOTICE); “ Já tu chybu nechci skrýt, ale vyřešit. „if(!isset($_GET['blabla']) $blabla='';“ To je pravda. Pokud neni zadaná $location, nastavíme ji na "main": <?php session_start(); error_reporting (E_ALL ^ E_NOTICE); $location = $_GET['location']; $forum = $_GET['forum']; $topic = $_GET['topic']; $post = $_GET['post']; if(!isset($_GET['location'])) $location = "main"; if($location == "main") { $inc = "./errors/404.php"; } ?> Díky |
||
Nox Profil |
#4 · Zasláno: 15. 5. 2009, 20:49:41
Werewolf
Index je adresa prvku pole, buď je číselný, nebo v tomto případě řetězcový ('blabla'), pokud neexistuje prvek pole s tímto indexem, pak se hlásí undefined index, řeší se issetem jako spousta dalších věcí A ty noticy si nevypínej...nejsem si teď jistý, ale error reporting by snad měl jít nastavit i přes htacess, takto to můžeš měnit globálně, pro vývoj nastav maximální hlášky a pro provoz....nejlíp také maximální, ale přesměrované do souboru, aby se nezobrazovaly na webu (toto jde také přes htacess)...kdyby to z nějakého důvodu nešlo, tak je vypnout (php_flag display_errors off) |
||
Werewolf Profil |
#5 · Zasláno: 15. 5. 2009, 20:58:06
Nox
„Index je adresa prvku pole“ Aha. Já myslel, že offset. Ale to je při číselném, ne? „A ty noticy si nevypínej...“ Taky že nevypnul. „přesměrované do souboru“ Google to najde :-) |
||
AM_ Profil |
#6 · Zasláno: 15. 5. 2009, 23:36:34
V PHP jsou ve skutečnosti interně všechny pole asociativní (i ty číselné), to znamená, že každý záznam v poli se ukládá jako takzvaný "záznam slovníku", tedy položka klíč, která je pro dané pole vždy unikátní, a položka hodnota.
Nedefinovaný index tedy vlastně znamená, že pole neobsahuje žádný záznam slovníku, ve kterém by byl požadovaný klíč (= index). Polopatě řečeno, undefined index pro prvek pole je totéž jako undefined variable pro proměnnou - prostě to neexistuje. |
||
AM_ Profil |
#7 · Zasláno: 15. 5. 2009, 23:37:13
„„přesměrované do souboru“
Google to najde :-)“ Tak musí být přesměrované do souboru, do kterého nemá veřejnost přístup. To je snad pochopitelné, jinak by to celé postrádalo smysl :) |
||
Mastodont Profil |
#8 · Zasláno: 16. 5. 2009, 07:13:09
Werewolf
Tu chybu ti to vyhodí proto, že v adrese http://localhost/w/djpw.php?blablabla=blabla není žádný $_GET['blabla'], ale $_GET['blablabla']; |
||
Časová prodleva: 15 let
|
0