login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Pagina systeem

Offline SilVeX - 31/01/2007 12:11
Avatar van SilVeXHTML beginner Ik heb een pagina systeem:

  1. <?PHP
  2. include "paginas.php";
  3.  
  4. if(isset($_GET['p']) && $_GET['p'] != "home"){
  5. if(In_Array(''. $_GET['p'].'', $aPagina)) {
  6. $pagina = $_GET['p'];
  7. } else {
  8. $pagina = "errors/404";
  9. }
  10. } else {
  11.  
  12. $pagina = "home";
  13. }
  14.  
  15. include $pagina.".html";
  16. ?>


Alleen deze werkt niet. Hij geeft errors. Ik vermoed zelf dat mijn array niet werkt:
paginas.php:
  1. <?PHP
  2. $pArray = array('contact', 'overons', 'diensten', 'sitemap', 'personeel');
  3.  
  4. ?>


Ziet iemand wat ik verkeerd doe en hoe ik het moet verbeteren?

8 antwoorden

Gesponsorde links
Offline Warbringer - 31/01/2007 12:14 (laatste wijziging 31/01/2007 12:17)
Avatar van Warbringer Onbekend kan je de foutmelding plaatsen?

  1. <?php error_reporting(E_ALL); ?>




weet niet zeker maar

  1. <?php if(In_Array(''. $_GET['p'].'', $aPagina)) ?>


twee maal enkele quotes, moet dat niet anders?

  1. <?php if(In_Array($_GET['p'], $aPagina)) ?>
Offline nielsvdwal - 31/01/2007 12:15 (laatste wijziging 31/01/2007 12:18)
Avatar van nielsvdwal PHP gevorderde
  1. <?
  2. if(In_Array(''. $_GET['p'].'', $aPagina))
  3. // $aPagina???
  4. ?>


@hierboven.. het is overbodig die quotes.. maar het zal geen verschil maken ..
verander die variable nou maar even in de goede variable.. zal al heel wat schelen..
Offline SilVeX - 31/01/2007 12:15 (laatste wijziging 31/01/2007 12:23)
Avatar van SilVeX HTML beginner
  1. Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/krisbaknl/domains/kris-baken.nl/public_html/school/index.php on line 46


Het was inderdaad die array die ik niet de goede naam had gegeven.
En die quote's werken wel maar zonder die quote's doet hij het ook.
Offline Ultimatum - 31/01/2007 13:31 (laatste wijziging 31/01/2007 13:31)
Avatar van Ultimatum PHP expert Als je volgende keer ook even naar de foutmelding kijkt dan had je zelf ook wel gezien wat er fout was, nietwaar?
Ook zijn die quotes alleen als je wilt escapen maar dat hoeft hier niet zoals hierboven al stond. En nog een tip: wil je het iets overzichtelijker hebben qua welke pagina's in de array staan doe het dan zo:

  1. <?php
  2. $array = array();
  3. $array[] = 'pagina1';
  4. $array[] = 'pagina2';
  5. $array[] = 'pagina3';
  6. ?>

maar dat is wat je zelf het fijnst vind natuurlijk 
Offline SilVeX - 31/01/2007 13:35
Avatar van SilVeX HTML beginner Thanks Ulti, ik ga dat wel gebruiken.
Alleen ik ben er niet zo een voorstander van om de waarde van de variable te veranderen maar dit ziet er wel netjes uit.
Offline CDNC - 31/01/2007 14:20
Avatar van CDNC PHP ver gevorderde in de functie in_array gebruik je de var $aPagina daarintegen heb je da array $parray genoemt...
Offline Gerard - 31/01/2007 17:34
Avatar van Gerard Ouwe rakker wat een flamewars allemaal weer. Mijn advies is om de zaakjes gewoon in een tabel 'Page' in de database te douwen. Het checken van de pagina is dan een kwestie van 1 query. Daarnaast is het nog eens handiger om te onderhouden omdat je zo een adminpaneltje ervoor kan maken waarmee je pagina's kan aanpassen/toevoegen.
Offline ikkedikke - 31/01/2007 17:59 (laatste wijziging 31/01/2007 17:59)
Avatar van ikkedikke PHP expert het maakt niet zoveel uit.
als ik al een extern bestand gebruik zou ik het zo doen:

$aFiles = split ("\n\r",file_get_contents('data.txt'));
// en dan in_array...
data.txt:
  1. home
  2. overons
  3. zoeken

scheelt je een query per hit en is net zo makkelijk te beheren als een database.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.278s