Site structuur

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

David Willems

David Willems

11/06/2010 13:38:33
Quote Anchor link
Hoi,

ik ga in het verlog de website van mijn scouts en grondig opkuisen en updaten. Nu bestaat de site uit allemaal php files, dus via de navigatiebar wordt gewoon gelinkt naar home.php, nieuws.php, etc.

Nu zie ik op veel sites dat alle paginas opgeroepen worden via bv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
index.php?p=nieuws

Nu, wat is de code hierachter? Allemaal includes? Kan iemand me aub eens een voorbeeldje geven?

En ik zie dat op deze site navigeert tussen slahes? Hoe gaat dat in zijn werkt?

Welk van deze is de beste manier?

Mvg David
Gewijzigd op 11/06/2010 13:39:27 door David Willems
 
PHP hulp

PHP hulp

28/03/2024 11:25:40
 
Joakim Broden

Joakim Broden

11/06/2010 13:54:17
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
$pagina = $_GET['p'];

if($pagina == 'home') {
    // Toon de home pagina door middel van include of database etc
}elseif($pagina == 'nieuw') {
    // Toon de nieuws pagina door middel van include of database etc
}else{
    // Toon het normale scherm (beginscherm)
}


dit zou je ook kunnen doen met een switch geval.
 
Chris -

Chris -

11/06/2010 14:15:29
Quote Anchor link
Lijkt me inderdaad handiger om dat met een switch te doen.

Wat je ook kunt doen is de pagina's die mogen worden aangeroepen in een array zetten, vervolgens kijken of de opgeroepen pagina in die array zit en vervolgens die pagina includen of een andere pagina laten zien als deze niet bestaat.
 
Jelmer -

Jelmer -

11/06/2010 14:31:54
Quote Anchor link
Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$paginas
= array(
    'home' => 'home.php',
    'fotos' => 'fotos/fotos.php',
    'about' => 'about.php'
);

if(!isset($paginas[$_GET['pagina']]))
    $_GET['pagina'] = 'home';

include $paginas[$_GET['pagina']];
?>
 
Jarik Pruim

Jarik Pruim

11/06/2010 16:09:27
Quote Anchor link
Ik gebruik meestal onderstaande code.
De glob zet alle bestanden in een array die in de zelfde map als de index.php staan.
Daarna word er gekeken of het gewenste bestand in de array komt.
Zo niet, een error weegeven. Wel in de array is weergeven.
Als er geen bestand opgevraagt wordt wordt er een standaard bestand getoond.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$p
= !isset($_REQUEST['p'])?"":rtrim($_REQUEST['p']);
$paginas = glob('*.php');
 if (!empty($p))
  {

   if (in_array($p, $paginas))
    include('./'.$p);
   else
    echo ".ERROR!<BR><BR>Deze pagina is niet (meer) bekend bij ons...";
  }

 else
  include("./nieuws.php");
?>
 
Sander de Vos

Sander de Vos

11/06/2010 17:05:39
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
// Include Pages
if (!isset($_GET['p'])) {
    include "pages/index.php";
}
else {
    $page = $_GET['p'];
    if (file_exists('pages/' . $page . '.php')) {
        include('pages/' . $page . '.php');
    }
else {
        echo "Deze pagina bestaat niet!";    // Betere fout volgt later
    }
}

?>
Gewijzigd op 11/06/2010 17:07:18 door Sander de Vos
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.