login  Naam:   Wachtwoord: 
Registreer je!
 Forum

include content

Offline WoOzel - 17/03/2005 21:44
Avatar van WoOzelLid ik heb al vanalles gemaakt, en men index.php ziet er als volgt uit

include header
include footer

endat gaat goed, maar nu wil ik dus ook een include content maken.
Maar die content verschilt dus steeds van pagina tot pagina. Nu wil ik dat als je op nieuws drukt, dat er www.domain.com/news/ tevoorschijn komt in het midden van de index. Team: www.domain.com/team/ .
Dus die content is steeds een variabele, voor de verschillende paginas. Hoe los ik dit op?

Op de plaats waar de content moet komen zet ik dan include('content.php'); en in die content.php: Get $ page if of zoiets? Ik zou niet weten welke code erin moet (liever niet met content.php?page=news)....

Zoiets als jullie mij snappen 

15 antwoorden

Gesponsorde links
Offline jasperken - 17/03/2005 22:16
Avatar van jasperken PHP interesse functies.php:
<?
function includer($page){
switch ($page) {
case "":
include "news.php";
break;

case "login":
include "login.php";
break;
}
}
?>
index.php:
Dit is een functie die je gewoon moet includen in je index.php vanboven zet je gewoon include "(de plaats waar je dit geplakt hebt).php", dit is de veiligste manier om met $page te werken als je liever $page niet gebruikt om veiligheidsredenen.
<?
includer($_GET['page']);
?>

Succes
:p
Offline WoOzel - 17/03/2005 23:07 (laatste wijziging 19/03/2005 23:40)
Avatar van WoOzel Lid nen dikke merci

kzalt is direct uitproberen 
:p

Edit:
mm moet ik die function includer($page) gewoon vervangen door includer ($_GET['page']);

of moet die function er nog voor, of moet er iets veranderen aan die { ?
en hoe moete urls dan zijn
gewoon .com/news

thx

Admin Edit:
Je moet je hier aan de regels houden, en dat houdt in dat je zeker niet mag dubbelposten!
Offline jasperken - 18/03/2005 11:15
Avatar van jasperken PHP interesse Zet dit bovenaan je index.php:
<?
function includer($page){
switch ($page) {
case "":
include "news.php";
break;

case "login";
include "login.php";
break;
}
}
?>
zet dit op deplaats waar je de bestanden wil includen:
<?
includer($_GET['page']);
?>
das het enige hierna moet je enkel nog case "blaat"; include "blaat.php" break; elke keer toevoegen per pagina die je wil includen. om dan deze te bekijken kan je ofwel http://localhost/index.php doen ofwel index.php?page=login
Simpel toch? 
Offline WoOzel - 19/03/2005 22:11
Avatar van WoOzel Lid jup dat lukt me wel

ma kzou graag nu met men multiviews van de links het volgende maken: www.localhost.com/login/ in plaats van www.localhost.com/index.php?page=login

Hoe doe ik dat ?

^^
Offline Legolas - 23/03/2005 18:51
Avatar van Legolas Onbekend Je kunt het ook met modules doen, dus ook een switch en dan modules includen. Dat is veiliger
Offline prorsoft - 23/03/2005 19:00
Avatar van prorsoft PHP gevorderde :\LEGOLAS, WAAR DENK JE DAT WE MEE BEZIG ZIJN???
dit is switch met modules includen, zoals jij het zegt!!!
Offline Legolas - 23/03/2005 19:25
Avatar van Legolas Onbekend Niet, ik bedoel zoiets met .mod bestanden, zoals veel opensource php programma's gebruik van maken in de admin sectie.
Wordt aub niet boos op me, ik bedoel het alleen maar om te helpen.
Die .mod bestanden zijn dan een SUBdeel van je pagina, bijv. handig voor loginsessies vind ik.:)
Offline ikkedikke - 23/03/2005 20:11
Avatar van ikkedikke PHP expert en handig dat PHP ze niet parst dus kan iedereen je wachtwoorden lezen
t maakt opzich geen flikker uit of je include met extensie .mod of .php alleen worden "modules" niet geparst als ze los opgevraagd worden
Offline Legolas - 24/03/2005 12:43
Avatar van Legolas Onbekend Ja, maar daar kun je toch een beveiliging voor maken in een .htaccesbestand, met Allow en Denie???:!:
Of ben ik nou dom:o
Offline ikkedikke - 24/03/2005 12:50
Avatar van ikkedikke PHP expert ja dah klopt, maar dan kan je net zo goed een prefix zetten voor de dingen die je include, dan kan je ook geen remote files includen:
  1. <?
  2. include('includes'/.$_GET['include'].'.php');
  3. ?>
Offline WoOzel - 26/03/2005 11:23
Avatar van WoOzel Lid ik gebruik nu het volgende:

<?
function includer($page){
switch ($page) {
case "":
include "news.php";
break;

case "login":
include "login.php";
break;
}
}
?>

En het volgende om te includen:

<?
includer($_GET['page']);
?>

Maar als ik nu op een link (index.php?page=bla) duw in een bestand dat ik in mijn lay out include [ include ('bla.php') ] werkt dit niet...
Hoe los ik dat op?
Offline Legolas - 26/03/2005 12:31 (laatste wijziging 26/03/2005 12:33)
Avatar van Legolas Onbekend Volgens mij kan zoiets bijvoorbeeld (deze pagina heet nu gewoon index.php):
  1. <?php
  2. if(isset($_GET['pagina'])) {
  3. switch(strtolower($_GET['pagina'])){
  4. case "home": include "home.php"; break;
  5. case "news": include "news.php"; break;
  6. default: include "error.php" ; break;
  7. }
  8. }
  9. else {
  10. include "home.php";
  11. }
  12. ?>

Dit is een script van ergens hier op sitemasters, iets voor jou aangepast. De links zien er nu zo uit:
  1. <a href="index.php?pagina=news">Nieuws</a>

Voor bijvoorbeeld de nieuwspagina. Dit script moet je dan natuurlijk in de content cel zetten (als je pagina opgebouwd is in een tabel).
Dus de content cel ziet er dan zo ongeveer uit:
  1. <td>
  2. <?php
  3. if(isset($_GET['pagina'])) {
  4. switch(strtolower($_GET['pagina'])){
  5. case "home": include "home.php"; break;
  6. case "news": include "news.php"; break;
  7. case "": include "home.php"; break;
  8. default: include "error.php" ; break;
  9. }
  10. }
  11. else {
  12. include "home.php";
  13. }
  14. ?>
Offline DownForZ - 30/03/2005 02:18
Avatar van DownForZ HTML interesse Ik gebruik deze code altijd 

  1. <?php
  2. if(IsSet($_GET['page']))
  3. {
  4. $page = $_GET['page'].".php";
  5.  
  6. if(file_exists($page))
  7. {
  8. include($page);
  9. }
  10. else
  11. {
  12. include("404.php");
  13. };
  14. }
  15. else
  16. {
  17. include("nieuws.php");
  18. };
  19. ?>
Offline CelestialCelebi - 30/03/2005 09:46 (laatste wijziging 30/03/2005 09:46)
Avatar van CelestialCelebi PHP gevorderde @DownForZ: Wat nou als ik index.php?page=index doe?

Include 'ie oneindig 

Maak er dit van:

  1. <?php
  2. if(IsSet($_GET['page']))
  3. {
  4. $page = $_GET['page'].".php";
  5.  
  6. if(file_exists($_GET['page'] . '.php') && $_GET['page'] != basename($_SERVER['PHP_SELF']) && strpos($_GET['page'], '.') === false)
  7. {
  8. include $_GET['page'] . '.php';
  9. }
  10. else
  11. {
  12. include '404.php';
  13. };
  14. }
  15. else
  16. {
  17. include 'nieuws.php';
  18. };
  19. ?>

Er mag nl. ook geen puntje in zitten (want dan kun je een map terug gaan en dan index.php of iets anders alsnog includen, index.php?page=../bla/index)
Offline nemesiskoen - 30/03/2005 11:18
Avatar van nemesiskoen Gouden medaille

PHP expert
@DownForZ: ik ben het zo beu als iets om die (FOUTE) code te zien
ik kan zoiezo elke pagina, op het web includen op jou site, cookies zetten via een zelfgeschreven script op JOUW site... ff mezelf admin maken, en zoals CC zegt, je kan oneindig laten includen 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.236s