March 17, 200619 yr 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 Edited March 17, 200619 yr by TheRing
March 18, 200619 yr 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.
March 18, 200619 yr 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) Edited March 18, 200619 yr by juuldr
March 18, 200619 yr 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
March 18, 200619 yr 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... ?>
September 9, 200916 yr 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();.
September 10, 200916 yr 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. Edited September 10, 200916 yr by marcootje
December 21, 200916 yr Kan ik met deze tutorial ook bijvoorbeeld http://www.domein.nl/?=index doen? Zodat ik de index.php verwijder met mod_rewrite?
December 24, 200916 yr Kan ik met deze tutorial ook bijvoorbeeld http://www.domein.nl/?=index doen? Zodat ik de index.php verwijder met mod_rewrite? Hoeft niet eens met mod_rewrite, dat gaat standaard. http://www.domein.nl/?=index ziet hij al als http://www.domein.nl/index.php?=index Je kan natuurlijk ook .php weghalen met mod_rewrite: RewriteEngine On RewriteRule ^(.*) $1.php Geloof ik, even snel gemaakt
December 24, 200916 yr 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
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 2deze 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
Edited by TheRing