PHP in PHP (2 maal)

Status
Niet open voor verdere reacties.

xenium

Gebruiker
Lid geworden
1 jul 2007
Berichten
150
Hey,

Ik ken niet zo heel veel van PHP, maar probeer een site met enkele dynamische dingen op te bouwen... Voor het moment heb ik mijn menu (navigation), upcoming en jarigen in PHP staan. Dit zijn telkens aparte PHP files die opgeroepen worden vanuit de gewone pagina.

Dit is de huidige code van een pagina die de 3 PHP files oproept:

Code:
<h2>Navigation</h2>
<? stripslashes(include('navigatie.php')); ?>
<br />
<h2>Upcoming</h2>
<? stripslashes(include('upcoming.php')); ?>
<br />
<h2>Jarigen</h2>
<? stripslashes(include('jarigen.php')); ?>

Deze code zou ik nu in een aparte file wille steken, zodat ik mijn nog zaken kan toevoegen, zoals bijvoorbeeld:
Code:
<h2>Kalender</h2>
<? stripslashes(include('kalender.php')); ?>

Mijn hele content menu zou dus dynamische moeten zijn, zodat ik maar 1 bestand moet aanpassen...

Ik heb reeds het volgende al geprobeerd (content.php):
Code:
<?php
	echo "<h2>Navigation</h2>
	<? stripslashes(include('navigatie.php')); ?>
	<br />
	<h2>Upcoming</h2>
	<? stripslashes(include('upcoming.php')); ?>
	<br />
	<h2>Jarigen</h2>
	<? stripslashes(include('jarigen.php')); ?>";
?>
Vanuit een pagina wordt er dan gelinkt naar de content.php file...
Wanneer ik de site open krijg ik mijn <h2>tags te zien, maar de inhoud van de files navigatie, upcoming en jarigen worden niet getoond.

Kan iemand mij hiermee helpen?

Alvast bedankt
 
Ten eerste begrijp ik niet waarom je stripslashes over een include doet, maar dat terzijde.

Als je een dynamische pagina wilt opbouwen aan de hand van includes zou je dit als volgt kunnen doen:

PHP:
$pages = array(
'navigation' => 'navigate.php',
'upcoming' => 'upcoming.php',
'jarigen' => 'jarigen.php',
);

foreach($pages as $p_key => $p_path)
{
echo '<h2>' . ucfirst($p_key) . '</h2>';
include $p_path;
}

Nu hoef je bij het toevoegen van een pagina alleen maar iets in de array te wijzigen.
Voor toelichting zie:
www.php.net/array
www.php.net/foreach
www.php.net/ucfirst
 
Laatst bewerkt:
Superhard bedankt, het werkt...

Ten eerste begrijp ik niet waarom je stripslashes over een include doet, maar dat terzijde.

Dit doe ik omdat iemand mij dit destijds gezegd heeft en zoals eerder vermeld: heb eigenlijk geen kennis van PHP...

Groetjes
 
Is niet nodig.
Dan werken je urls ook niet meer.
map1/map2/index.php << gaat dus niet werken vanwege stripslashes
 
Ah dat dacht ik al. Maar addslashes is alleen nodig bij tekens die uit je code kunnen breken. Tekens die PHP moet negeren. Vervolgens gebruik je dan stripslashes weer verwijderen bij output. Maar hij zal volgens mij niet de slashes in het pad verwijderen. Stripslashes verwijderd alleen slashes die toegevoegd zijn door addslashes / magic quotes. Met het doel te escapen.

Maar mooi dat het werkt, succes ermee.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan