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

PHP menu – PHP – Fórum – Programujte.comPHP menu – PHP – Fórum – Programujte.com

 

daemontus0
Newbie
8. 7. 2009   #1
-
0
-

cawko, mam takuto otazecku:
Zacinam pisat webstranky, HTML uz nejaku dobu ovladam, odnedavna uz aj CSS(aj ked ovladam je asi silne slovo) a po novom som si zobral na musku PHP. Chcel som v nom vytvorit pomocou CSS layoutu menu ktore by do daneho kontainera zobrazovalo ine subory pomocou require...moje menu teda vizera asi takto:

<body>

<div id="container">
<div id="menu">
<a href="?menu=1">Polozka 1</a>
<a href="?menu=2">Polozka 2</a>
<a href="?menu=3">Polozka 3</a>
<a href="?menu=4">Polozka 4</a>
<a href="?menu=5">Polozka 5</a>
</div>
<div id="text">
<?php
if($_GET("menu")==1)
{echo "toto je polozka 1";}
elseif($_GET("menu")==2)
{echo "toto je polozka 2";}
//...a tak dalej pre kazdu polozku
else
{echo "vyberte si prosim v nasom menu";}
?>
</div>
</div>
</body>

s tym layoutom a pripadne drobnymi chybami sa netrapte - pisal som ho po pamati bo som si ho nechal na inom PC a nechcelo sa mi moc rozmyslat :smile3: .
Takto mi ale vzdy na zaciatku vypise ze premenna menu neexistuje, ked sa klikne na nejaku z moznosti, je to vetko ok, ale ja by som sa chcel nejako zbavit tejto chybovej hlasky, res. chyby samotnej. Teda sa pytam ci sa neda nejakym sposobom preddefinovat dana hodnota tak aby bola povedzme od zaciatku 1?
Ked vytvorim samostatnu premennu $menu tak mi to totizto tuto premennu berie, avsak mi to neberie premennu ktoru zadefinuje moje "menu".

Nahlásit jako SPAM
IP: 213.253.204.–
Veľkosť posluchárne nerobí myšlienku múdrou.
Foowie0
Newbie
8. 7. 2009   #2
-
0
-

Hold musíš kontrolovat jeslti prvek toho pole exisuje funkcí isset()

if( isset($_GET("menu")) && $_GET("menu")==2 )

Default pak třeba takhle:
if( !isset($_GET("menu")) || $_GET("menu")==1 )

Pokud nechceš pořád kontrolovat jeslti prvek "menu" pole $_GET existuje, tak:
if( isset($_GET("menu")) )

$menu = $_GET("menu");
else
$menu = DEFAULT_HODNOTA;

A používej proměnnou $menu.

Nahlásit jako SPAM
IP: 62.129.36.–
don_Dominique0
Super člen
8. 7. 2009   #3
-
0
-

Nevim jak vám, ale mě vždycky i při isset() vypisuje chybu, takže používam @ - potlačení chybové hlášky (samozřejmě až po odladění)
takže

$menu= (@$_GET['menu']) ? $_GET['menu'] : DEFAULT ;

Nahlásit jako SPAM
IP: 88.146.211.–
KIIV
~ Moderátor
+43
God of flame
9. 7. 2009   #4
-
0
-

na to je myslim i lepsi array_key_exists $_GET existuje urcite vzdy

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
hrach
~ Redaktor
+1
Boss
9. 7. 2009   #5
-
0
-
Nahlásit jako SPAM
IP: 90.179.27.–
http://jan.skrasek.com@hrachcz – webdeveloper
daemontus0
Newbie
10. 7. 2009   #6
-
0
-

thx all

Nahlásit jako SPAM
IP: 213.253.204.–
Veľkosť posluchárne nerobí myšlienku múdrou.
Mesiach
~ Anonymní uživatel
1 příspěvek
16. 11. 2011   #7
-
0
-

#1 daemontus
Doporučuji používání switche například:

<a href="index.php?page=home">Domů</a>
<a href="index.php?page=ekologie">o ekologii</a>

<?
if(isset($_GET['page']))  // když je PAGE nastaveno začne prověřovat jaká je jeho proměnná
{
        switch($_GET['page'])
              {
            case 'home':
              require 'files/home.php';
                break;
            case 'ekologie':
              require 'files/ekologie.php';
                break;
            case 'katalog':
              require 'files/katalog.php';
                break;
            case 'akce':
              require 'files/akce.php';
                break;
            default :
             case 'php/401.php';
                 break;
                }     

                                 
}
?>
Nahlásit jako SPAM
IP: 81.90.173.–
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, 11 hostů

 

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