Autor Zpráva
Forest
Profil *
pod IIS mi tento skript hlasi chybu pod Apachem to jede v poho ale bohuzel musim pouzit IIS

http://www.fifa-liga.wz.cz/test/indexik.phps toto je ten skript

a tuhle hlasku mi to hlasi : Notice : Undefined index sekce in C:\Inetpub\wwwroot\telefony\index.php on line 25

nevite nekdo prosim jak ji odstranit???
error414
Profil
Forest
To neni chyba to je poznamka, a hlasi ti ze nemas definovanou promenou sekce
Forest
Profil *
ale ja ji definovanou podle me mám pze to page_3 zobrazi a pod Apachem to nehlásí
error414
Profil
Forest
Pod apache asi nemas zaple poznamky. Ale vypada ze je inicializovana.
Forest
Profil *
a jak by se teda dala ta sekce nadefinovat dobře ?
error414
Profil
Forest
IMHO je nadefinovana dobre, nevim co si PHPko vymrcuje, nikde na ostrem serveru nejsou zaple notice, tak se tim nemusis zabyvat
Hugo
Profil
Forest

Uprav ten skript takto
<?
if (isset($_GET['sekce'])) // pokud v url bude definovana sekce, napr index.php?sekce=neco
{
$sekce = $_GET["sekce"]; // Priradime vkladani URL do promenne
include "$sekce"; // vlozime soubor z adresare
}
else
{
include "page_3.php"; // pokud ne vlozime jako defaultni tuto stranku
}
?>

A mělo by to jet bez problémů.
error414
Profil
Hugo
Ja jsem predpokladal ze $_GET['sekce'] bude vzdy definovana.
Hugo
Profil
No evidentně není a navíc skript má počítat s každou možností. Což mi připomíná, že používat údaje z URL bez verifikace je cesta do pekel.
error414
Profil
Hugo
Což mi připomíná, že používat údaje z URL bez verifikace je cesta do pekel.
To je pravda, ale sam vis ze kód nikdy nebude pocitat sevsim
Hugo
Profil
error414

Samozřejmě, bezchybný kód neexistuje. Ale proč zbytečně zjednodušovat život hackerům.
Miki59
Profil
Mám postavené menu na bázi switch>include. Pořád mi to hází poznámku o nedefinované proměnné.

na začátku souboru mám >>
if (isset($_GET['sekce'])) {$sekce = $_GET['sekce']};

a v těle kde se bude něco měnit mám >>
switch ($_GET['sekce']) {
case 1: include "onas.htm";
break;
case 2: include "politika.htm";
break;
default: include "onas.htm";
break; }

Můžete mi prosím poradit? díky
Hugo
Profil
Miki59

Pokud není $_GET['sekce'] definov8na, tak ten switch hodí notice. Uprav skript, treba takto

if (isset($_GET['sekce'])) {$sekce = $_GET['sekce']};
else {$sekce = 1}

a dál už používej pouze $sekce.


switch ($sekce) {
Toto téma je uzamčeno. Odpověď nelze zaslat.