ugrás a tartalomhoz

php include menü

Hatusi · 2010. Május. 26. (Sze), 09.58
Sziasztok!
Nemrég kezdtem ismerkedni a phpval, így kérném türelmeteket ha értetlenül fogalmazok. (a nyelv szintaktikája és utasításkészletét még nem igazán tettem magamévá)
Van egy egyszerű includos menüm (index.php):
A menü:
<a href='?menu=lap1'>Nyitólap</a>
<a href='?menu=lap2'>Nyitólap</a>

...

Majd egy nem fix tartalom divbe includolom a tartalmat.
<?php
switch($_GET['menu'])
{
case lap1:
include("lap1.php");break;
case lap2:
include("lap2.php");break;
default:
include("lap3.php");break;
}
?>

Ezzel nincs is probléma, csak mutatom, hogy egy hasonló felállást szeretnék elérni a keptar.php oldalon:

<!-- ======== FARSANG =========== -->
<div class="megnyit">
<a href="#" onClick="document.getElementById('farsang').style.display=(document.getElementById('farsang').style.display=='none')?'block':'none';return false">Képek megnyitásához / bezárásához kattintson ide!</a></div>
<table width="100%" id="farsang" style="display:none">
<tr>
<td width="100%">
<?php
include("galery/farsang/index.html");
?>
</td>
</tr>
</table>
</div><br />
<!-- ===== KÁLVÁRIA ============ -->
<div class="megnyit">
<a href="#" onClick="document.getElementById('kalvaria').style.display=(document.getElementById('kalvaria').style.display=='none')?'block':'none';return false">Képek megnyitásához és bezárásához kattintson ide!</a></div>
<table width="100%" id="kalvaria" style="display:none">
<tr>
<td width="100%">
<?php
include("galery/kalvaria/index.html");
?>
</td>
</tr>
</table>
</div><br />

a probléma ha csak így sorban include-al behívom a fájlokat, akkor a képszámlálóm összeadja a galériák képeit és furcsaságok jelentkeznek. Gondoltam majd a break; megoldja, persze így lefut az első a s az oldal többi részét már nem is figyeli. A php-s részek tagoltan vannak, tehát köztük html és css kódok. Így ötlött fel bennem, hogy a fenti menühöz hasonlót szeretnék kialakítani. Gondolom valahogy függvényekkel kellene megoldani. Lényeg, hogy egyszerre csak 1 oldalt includoljon be a megadott linkre klikkelve, viszont még nem vergődtem zöld ágra.
Előre is köszönet a segítségért.

üdv
 
1

Furcsaságok?

Poetro · 2010. Május. 26. (Sze), 15.15
ha csak így sorban include-al behívom a fájlokat, akkor a képszámlálóm összeadja a galériák képeit és furcsaságok jelentkeznek

Milyen furcsaságok jelentkeznek? Mi a baj azzal, hogy a képszámláló összeadja a galériák képeit? Azt hittem azért képszámláló hogy összeadja.
Gondoltam majd a break; megoldja

Mit oldana meg a break?
2

galéria

Hatusi · 2010. Május. 27. (Cs), 07.36
A képszámláló különálló galériákhoz tartozik, tehát pl.: farsangi képek, azt számolja abban mennyi van... de ha utána egy másik include-al behívom a következő galériát, az ott lévő képek összegét is összeadja. A furcsaságok pedig ott eredtek, hogy bezárom a képtárat (lightboxos) de újra kinyitja az utolsó képet. Ha kap egy break-et az include után akkor minden rendben, csak az oldal többi részét már nem fordítja. Tehát a képzeletemben valami ilyet szeretnék, csak php-ben ez nem tudom pontosan, hogy kivitelezhető, nem vagyok jártas a szintaktikában vagy pontos utasításkészletben, ebben kérném segítségetek:
switch($_GET['kepek'])
case 1:
function keptar1()
{
include("lap1.php");break;
}
... és az összes többi

a linkeknél pedig:
<a href='?kepek=1' onClick="document.getElementById('farsang').style.display=(document.getElementById('farsang').style.display=='none')?'block':'none';return false">Képek megnyitásához / bezárásához kattintson ide!</a></div>
<table width="100%" id="farsang" style="display:none">
<tr>
<td width="100%">
<?php
keptar1();
?>
</td>
</tr>
</table>
3

Ez így sajnos nagyon zavaros.

foszto · 2010. Május. 27. (Cs), 10.54
Ez így sajnos nagyon zavaros. Ha ebben a stílusban folytatod tovább akkor van egy olyan érzésem, hogy egy idő után követhetetlenné válik még számodra is.

Csak hogy érthető legyen, van egy indexed abban vannak a menüpontok. Ha kattintasz valamelyik linkre, akkor az meghívja az indexet a megfelelő paraméterrel és a paraméter szerint beincludolod a megfelelő galériát. Ha ez így van akkor ez idáig okés.
De mi számlálja a képeket?

A fenti példa ahol függvényeket hívogatsz az nincs rendben, nem tudom mit akarsz vele...
Ha egyszerre betöltöd az összes galériát csak display hidden miatt nem látszanak, és js-el számlálod a képeket akkor hiába nem látszik azért még fogja számlálni.

Ami neked kell:

<div>...Menu...</div>
<div id='content'>
<?php
switch($_GET['kepek']){
  case 1:
    include("lap1.php");
    break;
  case 2:
    include("lap2.php");
    break;
...
  default:
    include('ha nincs galeria vagy default galeria.php');
    break;
}
?>
</div>
Ennyi kellene neked szerintem.