login  Naam:   Wachtwoord: 
Registreer je!
 Forum

.htaccess neemt incorrecte waarde? (Opgelost)

Offline Nielzie - 25/09/2012 23:23
Avatar van NielzieLid Hey allen,

Op mijn website staat in mijn index.php file volgende stukje code:

  1. <?php
  2.  
  3.  
  4. include 'core/header.php';
  5. include 'province.php';
  6.  
  7. if ($_GET['p'] == ""){
  8. $include = "home";
  9. }
  10. else {
  11. $page = $_GET['p'];
  12. if (file_exists("core/".$page.".php")==true) {
  13. $include = $page;
  14. }
  15. else {
  16. $include = "home";
  17. }
  18. }
  19. include("core/".$include.".php");
  20.  
  21. include 'core/footer.php';
  22.  
  23. ?>


In mijn header.php file gebruik ik nu volgende code:


  1. <?php
  2.  
  3. include 'config.php';
  4.  
  5. $_GET['p'] = (isset($_GET['p']) ? $_GET['p'] : 'default');
  6.  
  7. if ($_GET['lang'] == $T5){ $TX = $T5; }
  8. elseif ($_GET['lang'] == $T4){ $TX = $T4; }
  9. elseif ($_GET['lang'] == $T3){ $TX = $T3; }
  10. elseif ($_GET['lang'] == $T2){ $TX = $T2; }
  11. else { $TX = $T1; }
  12.  
  13. if ($_GET['prov'] == $P8){ $_SESSION['PX'] = $P8; }
  14. elseif ($_GET['prov'] == $P7){ $_SESSION['PX'] = $P7; }
  15. elseif ($_GET['prov'] == $P6){ $_SESSION['PX'] = $P6; }
  16. elseif ($_GET['prov'] == $P5){ $_SESSION['PX'] = $P5; }
  17. elseif ($_GET['prov'] == $P4){ $_SESSION['PX'] = $P4; }
  18. elseif ($_GET['prov'] == $P3){ $_SESSION['PX'] = $P3; }
  19. elseif ($_GET['prov'] == $P2){ $_SESSION['PX'] = $P2; }
  20. else { $_SESSION['PX'] = $P1; }
  21.  
  22.  
  23. ?>


Als .htaccess gebruik ik het volgende om die clean URL weer te geven (dus ook mooi met die 'prov'):

  1. RewriteRule ^(e-catalog)($|/) - [L]
  2. RewriteRule ^update/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ update/index.php?lang=$1&p=$2 [L]
  3. RewriteRule ^update/?$ update/index.php [L]
  4. RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?lang=$1 [L]
  5. RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?lang=$1&prov=2 [L]
  6. RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?lang=$1&prov=2&p=$3 [L]
  7. RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?lang=$1&prov=2&p=$3&id=$4 [L]


Echter, op de pagina genaamd 'finalists' heb ik volgende code staan om te zien wat er nu eigenlijk wordt onthouden:

  1. <?php echo $_SESSION['PX'] ?><br />
  2. <?php echo ($_GET['prov']) ?>


Wanneer ik de pagina online zou oproepen, zie ik daar staan:

national
2

Op het eerste zicht zou je denken dat hij die $_SESSION... goed onthoudt, maar als ik mijn hyperlink van .../en/national/finalists zou wijzigen naar .../en/antwerp/finalists, dan blijft hij gewoon dit tonen:

national
2

(dus neemt hij de juiste 'prov' niet over). En daarbij nog... Waarom neemt hij die '2' uit het .htaccess bestand neemt van waarde prov, en niet de effectieve waarde dewelke er staat?

Iemand enig idee...?

Alvast bedankt!

2 antwoorden

Gesponsorde links
Offline vinTage - 26/09/2012 07:13 (laatste wijziging 26/09/2012 07:15)
Avatar van vinTage Nieuw lid Je bent de $ overal vergeten voor de 2 bij prov in je htaccess

&prov=$2

Daarbij hoor je van lang naar kort te matchen ipv kort naar lang.
Offline Nielzie - 26/09/2012 09:12
Avatar van Nielzie Lid vinTage,

Bedankt voor je antwoord, dit was inderdaad het probleem.
Wat bedoel je precies met je laatste zin?
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.796s