.
Tutorial
Avatar

Menu include script

By Sillentkil on 2009-03-21
Views: 1200

Compleet script


Code:


<?php

$link
="page";
$ext="php";
$default="main";
$main"index.php";
$error_nietinarray"./error/errorarray.html";
$error_bestandbestaatniet "./error/error.html"
$pad=".";
$pages = array("",
        
"main",
        
"leeg",
        
"faq",
        
"contact",
        
"test",
              );

$page=$_GET[$link];

echo
"
    <dl>
        <dt><a href='?page=main'>home</a></dt>
        <dt><a href='?page=contact'>contact</a></dt>            
    </dl> 
    "
;    



    
if (!
in_array($page$pages))
        {
               include (
$error_nietinarray);
        }
    else
        {
       if (
$page == "")
          {
             include (
$pad."/".$default.".".$ext);
          }
       elseif (!
file_exists($pad."/".$page.".".$ext))
          { 
             include (
$error_bestandbestaatniet);
          }
       else
          {
             include (
$pad."/".$page.".".$ext);
          }
        }
?>





uitleg

Dit script include een andere pagina zoals een frame.



Code:

$link="page";


Dit is wat er in de url komt te staan bijv scripterplace.com/?page=new.


Code:

$ext="php";


In dit geval is het document een .php bestand maar kan ook een html of iets anders zijn.


Code:

$default="main";


standaard word de pagina main.php geinclude


Code:

$main= "index.php";


Dit script word gedraaid vanuit index.php


Code:

$error_nietinarray= "./error/errorarray.html";
$error_bestandbestaatniet = "./error/error.html";


2 foutpagina's wanneer er een foute url opgegeven word of het bestand niet bestaat.


Code:

$pad=".";


Een pagina includen we via ./ kan ook ../ worden voor een onderliggende map.


Code:

$pages = array("",
        "main",
        "leeg",
        "faq",
        "contact",
        "test",
              );


onze array met pagina's die geopend mogen worden



Code:

$page=$_GET[$link];


hier halen we de huidige url pagina op dus ?page=main of ?page=contact



Code:


echo"
    <dl>
    <dt><a href='?page=main'>home</a></dt>
    <dt><a href='?page=contact'>contact</a></dt>            
    </dl> 
    ";    



Hier bouwen we ons menu op dit kan je ook ergens anders doen heb dit even ter voorbeeld bijgesloten. letop dat onze href alleen maar ?page= hoeft te bevatten en geen complete url. doe je dit wel kunnen fouten ontstaan.


Code:


if (!in_array($page, $pages))
        {
               include ($error_nietinarray);
        }
    else
        {
       if ($page == "")
          {
             include ($pad."/".$default.".".$ext);
          }
       elseif (!file_exists($pad."/".$page.".".$ext))
          { 
             include ($error_bestandbestaatniet);
          }
       else
          {
             include ($pad."/".$page.".".$ext);
          }
        }



En vervolgens het laatste en lastigste gedeelte.
allereerst gaan we kijken of de pagina(?page=main) niet in de array zit, wanneer deze niet in de array voorkomt includen we een error pagina.

wanneer deze wel bestaat gaan we eerst kijken of ie niet leeg is bijvoorbeeld: index.php is een lege ?page= dus includen we ?page=main dus main.php.

wanneer deze niet leeg is gaan we kijken of het bestand niet bestaan, wanneer dit het geval is includen we een andere error pagina.

En als laatste houden we de goede pagina over ?page=main word als include bestand

$pad."/".$page.".".$ext = ./main.php
wat er in de browser als scripterplace.com/?page=main uitziet
« Previous Next »




Comments

STVProductions - 2009-07-25
<dutch>Ik denk dat de internationale mensen het fijn zouden vinden als je de tutorial in het engels zou schrijven ;)</dutch>

<english>I think the foreign people would appreciate it if you would write the tutorial in English ;)</english>

You have to be logged in to write a comment.

.