Jump to content

[TUT]Hoe meerdere paginas in 1 PHP bestand?


Recommended Posts

Geplaatst: (bewerkt)

Velen vragen zich misschien wel af hoe je meerdere pagina's in een PHP bestandje drukt

Een voorbeeldje

De Index van GTAForum is:index.php?act=home

De Ledenlijst van GTAForum is:index.php?act=Members

Het helpgebeuren van GTAForum is:index.php?act=help

Je kunt zien dat er de heltijd ?act=***, achterkomt

Hier mijn Tut over hoe je dit zelf gemakkelijk kunt maken

Benodigdheden:

1. Een host met PHP

2.Notepad/Kladblok

1.

Maak met Kladblok een nieuw bestand aan, met de volgende code:

<?php
$step = $_GET['step'];
if($step == "") {
$step = "1";
}
if($step == "1") {
?>

STEP 1

<?php
}
if($step == "2") {

}
?>

In dit voorbeeld word het uitendelijke gebeuren: index.php?step=*

Als je step wilt veranderen in bijv. page moet je:

<?php
$page = $_GET['page'];
if($page == "") {
$page = "1";
}
if($page == "1") {
?>

PAGE1

<?php
}
if($page == "2") {

}
?>

PAGE 2

deze code gebruiken

2.

Op de plaats waar PAGE1 staat kun je jou eigen PHP/HTML code plaatsen, ditzelfde gelt voor PAGE 2

3.

Zodra je alles hebt wat je wilt op de plekken kun je het bestand Opstaan als bijv. Frames.php

4.

Upload het naar je website, en probeer dan bijv. http://**********************.**/frames.php?page=2

5.

Hier zie je wat je op de plek van PAGE 2 hebt ingevuld

Als je het intypt zonder ?page=2 zie je alle paginas achter elkaar

6.

Wil je er nog meer paginas inzetten?

Kopier dan deze:

<?php
}
if($step == "3") {

}
?>

En verander dan de 3 in de pagina die jij wil

Extra.

Je kunt de cijfers ook veranderen door letters

Eventuele Fouten voorbehouden

Bewerkt: door TheRing
Geplaatst:

Wel leuk gedaan maar je kan beter dit script gebruiken;

<?
switch ($_GET['page']) { //De variable in deze regel zorgt ervoor dat de case's zometeen werken.
  case 'gtagames': // op deze regels kun je de pagina's waarden geven
  case 'gtaforum':
  case 'wikigta':
  case 'patrickw':
  include($_GET['page'].'.php'); // Deze maakt er een index van.
  break; 
  default:
  include('standaard.php'); // Dit is het standaard adres.
  break;
}
?>

als je bij case '....': gta in vult moet je ook een bestand hebben genaamd Gta.php.

Dit is één iets moeilijker script maar wel 5x zo klein. ;)

Trouwens dit is niet bedoelt om het topic te kapen het is alleen maar om het voor jullie makkelijker te maken. ;)

Geplaatst: (bewerkt)

Zet bovenaan is dit jongens;

error_reporting(E_ALL);

Dat toont alle errors, en dan zie je dat als $_GET['var'] leeg is dat je een error krijgt.

En dit stukje code:

$page == ""

vervang je beter door:

empty($page)

Bewerkt: door juuldr
Geplaatst:
Wel leuk gedaan maar je kan beter dit script gebruiken;

<?
switch ($_GET['page']) { //De variable in deze regel zorgt ervoor dat de case's zometeen werken.
  case 'gtagames': // op deze regels kun je de pagina's waarden geven
  case 'gtaforum':
  case 'wikigta':
  case 'patrickw':
  include($_GET['page'].'.php'); // Deze maakt er een index van.
  break; 
  default:
  include('standaard.php'); // Dit is het standaard adres.
  break;
}
?>

als je bij case '....': gta in vult moet je ook een bestand hebben genaamd Gta.php.

Dit is één iets moeilijker script maar wel 5x zo klein. ;)

Trouwens dit is niet bedoelt om het topic te kapen het is alleen maar om het voor jullie makkelijker te maken. ;)

Mja, dan heb je nog steeds al die files los in je site staan, dan ga ik toch voor die van The Ring :)

Geplaatst:

Gebruik anders dit script: (een gemodificeerde versie van het script van SummerBase)

<?
if (isset($_GET['page'])) {
switch ($_GET['page']) { //De variable in deze regel zorgt ervoor dat de case's zometeen werken.
  case 'gtagames': // op deze regels kun je de pagina's waarden geven
  break; // wel breaken hè
  case 'gtaforum':
  break;
  case 'wikigta':
  break;
  case 'patrickw':
  include($_GET['page'].'.php'); // Deze maakt er een index van.
  break; 
  default:
  include('standaard.php'); // Dit is het standaard adres.
  break;
}
} // if isset...
?>

  • 3 years later...
Geplaatst:

Even een tip, ik zou dat script niet gebruiken. Allebei niet. Daar kunnen mensen info door krijgen die je liever niet aan vreemde mensen geeft als ik nou doe: page.php?page=../../../cpanel/etc. Dan kan ik bestanden van buiten je public_html krijgen. Check het daarom met file_exists();.

Geplaatst: (bewerkt)

Ze zijn gewoon te gebruiken hoor, je kunt geen rare files includen.

Je kijkt eerst of $_GET['page'] één van de waarden 'gtagames', 'gtaforum', 'wikigta' of 'patrickw' bevat.

Zo ja: als je include met '.php' komt daar respectievelijk 'gtagames.php', 'gtaforum.php', 'wikigta.php' en 'patrickw.php' uit, geen andere pagina's, want dan zouden de switch-cases op false uitkomen, en include je dus gewoonweg 'standaard.php'.

Kort gezegd:

als je page.php?page=../../../cpanel/etc invoert, krijg je gewoon standaard.php te zien ;) .

Even een andere opmerking:

Als je page.php?page=*** gebruikt, zijn je pagina's wel minder aantrekkelijk voor google (e.a.), dus kom je minder hoog in de resultaten te staan. Ook zijn ze minder 'gebruiksvriendelijk' dan gewone pagina-benamingen. Dit zou je overigens weer kunnen afvangen met .htaccess.

Bewerkt: door marcootje
  • 3 maanden later...
Geplaatst:

volgens mij bedoeld hij de url http://www.domein.nl/index.php?p=index rewriten naar http://www.domein.nl/?=index

eigenlijk kan dit niet, want je geeft geen key op (denk ik, weet ik niet zeker), dus het zou moeten worden:

http://www.domein.nl/index.php?p=index rewriten naar http://www.domein.nl/?p=index

dus:

index.php?p=index rewriten naar ?p=index

volgens mij krijg je dan dit:

RewriteEngine On

RewriteRule ^index.php(.*) $1

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...