Chyba ERRNO 8 – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Chyba ERRNO 8 – PHP – Fórum – Programujte.comChyba ERRNO 8 – PHP – Fórum – Programujte.com

 

plasmo0
Věrný člen
9. 8. 2008   #1
-
0
-

Ahoj, php mi hází chybu, a nevím jak ji napravit, chyba se zobrazí pouze když nastavím error handler na E_ALL.



ERRNO: 8
Text chyby: Undefined index: page
Soubor: C:\inetpub\wwwroot\sdjizni\template\sd_jizni\index.phtml
Řádek: 36


Kód od řádku 36:
<?php

$page2 = $_GET['page'];
if(empty($page2)){
$page->zobraz("uvod","obsah");
}else{
if($page->zobraz($page2,"modul") == 1){
@include 'foto.php';
}elseif($page->zobraz($page2,"modul") == 2){
@include "video.php";
}else{
$page->zobraz($page2,"obsah");
}
}
?>


Poradí někdo něco? Díky

Nahlásit jako SPAM
IP: 82.150.166.–
Jak vzniká vynález? To všichni vědí, že je něco nemožné, a pak se objeví nějaký blázen, který neví, že je to nemožné, a udělá vynález. [br] Albert Einstein [br][br] http://plasmo.cz [br] http://bleskovaregistrace.cz [br] http://livetrading.cz
9. 8. 2008   #2
-
0
-

V poli page neexistuje hodnota s indexem (klicem) 'page'. Mel by to vyresit jeden zavinac. taky bys mel pred to empty pridat jeste is_null kontrolu.

  $page2 = @$_GET['page']; 

if(is_null($page2) || !$page2){
$page->zobraz("uvod","obsah");

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
bukaj0
Věrný člen
9. 8. 2008   #3
-
0
-

CommanderZ
$page2 = @$_GET['page'];
Používat tlumící operátor? Ale fůj :o) Pryč s ním:

$page2 = isset($_GET['page']) ? $_GET['page'] : null;

plasmo
Taky, není tlumící operátor před tím include zbytečný?

Nahlásit jako SPAM
IP: 85.70.13.–
Jak se správně ptát? -> http://www.hash.cz/inferno/otazky.html[br][br] Po programování je člověk hladovej.
Tocimanko0
Grafoman
9. 8. 2008   #4
-
0
-

To plasmo: Zdá sa mi, že error to nebude. Má to nejaké fatálne následky? Proste ukončenie skriptu? Pokiaľ nie, je to notice. Tie môžeš kľudne ignorovať. Väčšinou sa zobrazujú, keď interpreter narazí na neinicializovanú premennú.
EDIT: ...a keď máš samozrejme toto zobrazovanie Notices v php.ini aktivované :) V tvojom prípade direktíva E_ALL

Nahlásit jako SPAM
IP: 195.91.84.–
9. 8. 2008   #5
-
0
-

bukaj napsal:
CommanderZ
$page2 = @$_GET['page'];
Používat tlumící operátor? Ale fůj :o) Pryč s ním:

$page2 = isset($_GET['page']) ? $_GET['page'] : null;

plasmo
Taky, není tlumící operátor před tím include zbytečný?


No jo, ale vsimni si jedne veci - ten tvuj radek je dvakrat delsi a na prvni pohled je o dost mene jednoznacne, co vlastne dela. A ze dela to same co ten muj ;)

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
plasmo0
Věrný člen
9. 8. 2008   #6
-
0
-

Díky za rady :-) funguje mi to.

Nahlásit jako SPAM
IP: 82.150.166.–
Jak vzniká vynález? To všichni vědí, že je něco nemožné, a pak se objeví nějaký blázen, který neví, že je to nemožné, a udělá vynález. [br] Albert Einstein [br][br] http://plasmo.cz [br] http://bleskovaregistrace.cz [br] http://livetrading.cz
toka0
Stálý člen
9. 8. 2008   #7
-
0
-

CommanderZ napsal:

bukaj napsal:
CommanderZ
$page2 = @$_GET['page'];
Používat tlumící operátor? Ale fůj :o) Pryč s ním:

$page2 = isset($_GET['page']) ? $_GET['page'] : null;

plasmo
Taky, není tlumící operátor před tím include zbytečný?


No jo, ale vsimni si jedne veci - ten tvuj radek je dvakrat delsi a na prvni pohled je o dost mene jednoznacne, co vlastne dela. A ze dela to same co ten muj ;)



Me tedy prijde jasnejsi a znacne spravnejsi konstrukce bukaje.

Nahlásit jako SPAM
IP: 86.61.165.–
Tomáš Kavalek
hrach
~ Redaktor
+1
Boss
9. 8. 2008   #8
-
0
-

To toka : v tomto pripade se neda o spravnosti mluvit

Kod je spravny do te doby, dokud funguje. E_NOTICE a E_WARNING jsou pouze informacni pro vyvoj aplikace.
@ potlacuje jejich vypis, podminkou zase obejdu onu situaci.... spravne je oboje. :) ani jedno neni spravnejsi.
oboje ma svoje vyhody.

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
Orcslayer0
Stálý člen
9. 8. 2008   #9
-
0
-

Vzhledem k tomu, že se z empty tenhle notice nevyhodí, proč tu proměnnou nevytvořit až v podmínce (myšleno v bloku za podmínkou), kde je jisté, že index existuje?

Nahlásit jako SPAM
IP: 85.70.82.–
Prog.0
Věrný člen
10. 8. 2008   #10
-
0
-

operátor @ by som nepoužil, pokial by som si nebol istý že ho použiť chcem. V prípade že si neskôr urobíš vlastný error handler tak aj keď v ňom budeš kontrolovať error reporting level každopádne dôjde ku spomaleniu. V tomto prípade to je jedno, ale ak by sa @ ocitol v nejakom cykle a vyhodil len 1000 notices, už by to bolo cítiť...

Pre mňa je jednoznačne isset jediné správne riešenie, ten operátor ako aj možnosť zníženia E_ALL na nižší level by mali zrušiť...

Nahlásit jako SPAM
IP: 87.244.219.–
Prog.
10. 8. 2008   #11
-
0
-

Hmm myslim ze zitra udelam benchmark. Chtel bych videt, kde by se tam to zpomaleni vzalo ;)

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 76 hostů

Podobná vlákna

Chyba v c — založil bohetik

Chyba C++ — založil AnonImouS

Chyba io — založil Tom@sQo

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý