login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Punt in de root van de include (Opgelost)

Offline Guido2 - 23/07/2010 20:06 (laatste wijziging 24/07/2010 14:10)
Avatar van Guido2Nieuw lid De punt om de root in een include in de map navigatie/nav.inc aan te geven, werkt bij mij alleen tot en met 2 niveaus.


<?php

include './navigatie/nav.inc';

?>

Maar ik wil in mijn site op 5 niveaus graag met 1 nav.inc alle niveaus kunnen regelen. Kan dat?


Het lijkt me logisch dat het als volgt werkt:
niveau 1: 1 punt (met nav.inc in de map navigatie)
niveau 2: 2 punten (zonder nav.inc in de map navigatie)
niveau 3: 3 punten (zonder nav.inc in de map navigatie)
niveau 4: 4 punten (zonder nav.inc in de map navigatie)
niveau 5: 5 punten (zonder nav.inc in de map navigatie)

Maar ik krijg het niet anders dan zo:
niveau 1: 1 punt (met nav.inc in de map navigatie)
niveau 2: 2 punt (zonder nav.inc in de map navigatie)
niveau 3: 1 punt (met nav.inc in de map navigatie)
niveau 4: 2 punt (zonder nav.inc in de map navigatie)
niveau 5: 1 punt (met nav.inc in de map navigatie)

Wat doe ik fout?
[plaatscode=php]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8_unicode_ci" />
<title></title>

<link rel= "stylesheet" href="menu_style.css" type="text/css" />
<link href="opmaak.css" rel="stylesheet" type="text/css"/>

</head>
<body>
<?php

include './navigatie/nav.inc';

?>

<div>
Dit is niveau 1.
</div>
<body>
xxxxxxxxxxxxxxxxx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8_unicode_ci" />
<title></title>

<link rel= "stylesheet" href="menu_style.css" type="text/css" />
<link href="opmaak.css" rel="stylesheet" type="text/css"/>

</head>

<?php

include '../navigatie/nav.inc';

?>

<div>
Dit is niveau 2.
</div>

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8_unicode_ci" />
<title></title>

<link rel= "stylesheet" href="menu_style.css" type="text/css" />
<link href="opmaak.css" rel="stylesheet" type="text/css"/>

</head>

<?php

include './navigatie/nav.inc';

?>

<div>
Dit is niveau 3.
</div>

enzovoorts

6 antwoorden

Gesponsorde links
Offline Martijn - 23/07/2010 20:19 (laatste wijziging 23/07/2010 20:20)
Avatar van Martijn Crew PHP ../ dacht k. en anders ./././ 

ediot: maar als je zo werkt, gok ik dat je bestandsindeling niet helemaal juist is 
Offline Guido2 - 23/07/2010 20:25 (laatste wijziging 23/07/2010 20:32)
Avatar van Guido2 Nieuw lid
Martijn schreef:
../ dacht k. en anders ./././ 

ediot: maar als je zo werkt, gok ik dat je bestandsindeling niet helemaal juist is 


Wat bedoel je met onjuiste bestandsindeling? De pagina's zijn heel sober.

Verder heb ik

<?php

include './././navigatie/nav.inc';

?>

in niveau 3 gezet en ik heb de nav.inc weggehaald, maar dan komt de navigatiebalk niet meer op het scherm.
Offline Stijn - 23/07/2010 20:33
Avatar van Stijn PHP expert ./ -> de huidige map
../ -> de bovenliggende map

Je moet dus include_once "../../../navigatie/nav.inc"; gebruiken. Ik zou werken met PHP.net: set_include_path. Dan hoef je geen rekening te houden met je huidige locatie.
Offline Guido2 - 23/07/2010 20:42 (laatste wijziging 23/07/2010 21:02)
Avatar van Guido2 Nieuw lid
Stijn schreef:
./ -> de huidige map
../ -> de bovenliggende map

Je moet dus include_once "../../../navigatie/nav.inc"; gebruiken. Ik zou werken met PHP.net: set_include_path. Dan hoef je geen rekening te houden met je huidige locatie.


Bedankt voor de tip. Het werkt prima!

Ik heb het nu als volgt gedaan en alle balken komen op het scherm.

niveau1: include './navigatie/nav.inc';
niveau2: include '../navigatie/nav.inc';
niveau3: include '../../navigatie/nav.inc';
niveau4: include '../../../navigatie/nav.inc';
niveau5: include '../../../../navigatie/nav.inc';


Is
<?php
$path = '/niveau1/niveau2/niveau3';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
?>

wel veilig genoeg?

Waarschijnlijk maak ik een fout in $path, want het werkt nog niet.
Offline TotempaaltJ - 23/07/2010 22:36
Avatar van TotempaaltJ PHP interesse Je kan ./ (dus met 1 punt) ook gewoon weglaten. Als het goed is include hij standaard uit de huidige folder.
Offline Guido2 - 23/07/2010 23:00
Avatar van Guido2 Nieuw lid Dank je wel.

Ik haal de ./ in het eerste niveau weg.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s