Le MrG Geplaatst: 17 maart 2006 Rapport Geplaatst: 17 maart 2006 (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: 17 maart 2006 door TheRing Reageren
SummerBase Geplaatst: 18 maart 2006 Rapport Geplaatst: 18 maart 2006 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. Reageren
Argon Geplaatst: 18 maart 2006 Rapport Geplaatst: 18 maart 2006 (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: 18 maart 2006 door juuldr Reageren
Crifox Geplaatst: 18 maart 2006 Rapport Geplaatst: 18 maart 2006 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 Reageren
JGuntherS Geplaatst: 18 maart 2006 Rapport Geplaatst: 18 maart 2006 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... ?> Reageren
-Omar- Geplaatst: 9 september 2009 Rapport Geplaatst: 9 september 2009 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();. Reageren
marcootje Geplaatst: 10 september 2009 Rapport Geplaatst: 10 september 2009 (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: 10 september 2009 door marcootje Reageren
NickyHendriks Geplaatst: 21 december 2009 Rapport Geplaatst: 21 december 2009 Kan ik met deze tutorial ook bijvoorbeeld http://www.domein.nl/?=index doen? Zodat ik de index.php verwijder met mod_rewrite? Reageren
David22 Geplaatst: 24 december 2009 Rapport Geplaatst: 24 december 2009 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 Reageren
marcootje Geplaatst: 24 december 2009 Rapport Geplaatst: 24 december 2009 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 Reageren
Recommended Posts
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.