PHP include, wat doe ik fout?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Connie van Niekerk

Connie van Niekerk

01/06/2011 16:45:52
Quote Anchor link
Hallo allemaal,

Ik had mijn site eerst met behulp van frames gemaakt, maar nu heb ik hem omgezet naar divs. Daarbij wil ik gebruik maken van php include om te zorgen dat de links van mijn menu leiden tot het openen van een pagina in de contentdiv. Zoals vroeger een druk op een link zorgde voor het openen van een pagina in een iframe.

Nu heb ik op het internet al het een en ander opgezocht en dat uitgeprobeerd. Inmiddels is het met gelukt om de home pagina te includen, maar bij de andere links uit mijn menu lukt dat nog niet (ik heb alleen even de tweede link geprobeerd zoals jullie zien, maar die werkt dus niet).
Wat doe ik fout??

Hieronder heb ik de scripts van mn menu en mn content geplakt.
Ik hoop dat iemand mij kan helpen!

Mvg, Connie

Script menu:
<div id="menu">
<ul>
<li class="current_page_item"><a href="index.php?pagina=home">Home</a></li>
<div align="right"></div>
<li><a href="index.php?pagina=stichting">Kindervreugd Afrika</a></li>
<li><a href="projecten.html" target="rechts">Projecten</a></li>
<li><a href="nieuws.html"target="rechts">Nieuwsberichten</a></li>
<li><a href="foto.html" target="rechts">Foto's</a></li>
<li><a href="filmpjes2.html" target="rechts">Videos</a></li>
<li><a href="contact.html" target="rechts">Contact</a></li>
</ul>
</div>

Script content:
<div id="content">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
/******     INSTELLINGEN ******/
$path = 'bestanden/'; // zet een slash achter de naam van de map
$default_page = 'home'; // zonder extensie

$page = isset( $_GET['page'] ) ? $_GET['page'] : $default_page;
$notallowed = array( '.', '\\', '/' );

if( file_exists( $path . $page . '.php' ) and !in_array( substr( $page, 1, 1 ), $notallowed ) and strpos( $page, '../' ) === false and strpos( $page, '..\\'

) === false )
{

    include( $path . $page . '.php' );
}

else
{
    include( $path . $default_page . '.php' );
}
?>

</div>
 
PHP hulp

PHP hulp

24/11/2024 11:14:45
 
- Ariën  -
Beheerder

- Ariën -

01/06/2011 16:53:38
Quote Anchor link
Wat gebeurt er?

En zet error_reporting() eens op E_ALL, ook display_errors in ini_set op 1 zetten is erg handig.
 
Connie van Niekerk

Connie van Niekerk

01/06/2011 17:03:26
Quote Anchor link
Bedankt voor de snelle reactie!

Als ik op de tweede link klik, laadt ie ook de home pagina.
Waarschijnlijk omdat ie die andere pagina niet kan vinden denk ik dan?
Maar ik ben maar een beginner en heb het php script ergens van het internet geplukt, dus ik begrijp nog niet helemaal wat je bedoelt met error reporting en display_errors. Kun je uitleggen waar dat moet komen te staan?
 
- Mark -

- Mark -

01/06/2011 17:14:37
Quote Anchor link
Het kan wel kloppen wat je zegt. verander de 2de include eens in echo 'Pagina niet gevonden.'; of iets in die richting. Het is een beetje misleidend op deze manier.
 
- SanThe -

- SanThe -

01/06/2011 17:29:07
Quote Anchor link
Dit: <a href="index.php?pagina=stichting"> geeft natuurlijk nooit $_GET['page'], maar $_GET['pagina'].
 
Sven b

Sven b

01/06/2011 17:51:21
Quote Anchor link
Wow, die code van jou ziet er ingenieus uit ;)

Waarom doe je niet in één keer je hele menu includen?

home.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<div id="menul";>    
<?php include ('includes/menu.inc.php'); ?>
</div>


menu.in.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<a href="home.htm" class="knop alignmiddle"><b>Home</b></a>
<a href="inloggen.htm" class="knop"><b>Inloggen</b></a>
<a href="inloggen.htm" class="knop"><b>Curriculum vitae</b></a>
<a href="inloggen.htm" class="knop"><b>Sollicitatiebrief</b></a>
<a href="inloggen.htm" class="knop"><b>Spelletjes</b></a>
<a href="inloggen.htm" class="knop"><b>Gastenboek</b></a>
<a href="inloggen.htm" class="knop"><b>Contact</b></a>


In mijn stylesheet heb ik de menu gestyled!

Moet je sowieso niet .inc.php gebruiken? Want dat zie ik bij jou niet terug komen. Ik ben sowieso nieuw hier en ik programmeer pas 3-4 weken. Dus als ik dingen verkeerd zeg laat het me aub weten.

Groetjes Sven
 
Connie van Niekerk

Connie van Niekerk

01/06/2011 22:27:57
Quote Anchor link
Woow bedankt voor al jullie reacties!
Het was inderdaad dat het page moest zijn in plaats van pagina, domme fout! Super dat je het hebt opgemerkt Santhe!

Hij doet het nu!
Bedankt allemaal!
 
Sven b

Sven b

01/06/2011 23:34:41
Quote Anchor link
Waarom doe je het niet op mijn manier? Of gaat dat niet?
 
Maarten PHP

Maarten PHP

02/06/2011 07:29:49
Quote Anchor link
Sven b op 01/06/2011 23:34:41:
Waarom doe je het niet op mijn manier? Of gaat dat niet?


Dat was zijn vraag toch niet.
 
Sven b

Sven b

02/06/2011 08:52:10
Quote Anchor link
Dat klopt. Ik wil gewoon weten waarom hij die manier kiest en niet mijn manier, want ik snap niet precies wat hij nu wil bereiken? Hij wil gewoon zijn menu dat hij heeft laten includen in zijn script,toch? Dan lijkt mij mijn manier makkelijker, maar ik kan helemaal fout zitten en daarom wil ik dat even checken...

Ik wil er graag wat meer van leren.
 
Maarten PHP

Maarten PHP

02/06/2011 11:32:24
Quote Anchor link
Het is wel sneller en makkelijker maar als hij dat niet wil doet hij dat niet.
 
Connie van Niekerk

Connie van Niekerk

02/06/2011 11:41:32
Quote Anchor link
Het ging mij erom dat de links vanuit het menu een pagina includen in mn content. Zoals je vroeger een pagina kon laten verschijnen in een iframe. Dus niet het includen van het menu zelf, maar een includeopdracht in de links van het menu, waardoor bijv de pagina's home, foto's, en contact worden geopend in mn content div.

Ik ben trouwens een meisje, dus gelieve "zij" te gebruiken.
 
Maarten PHP

Maarten PHP

02/06/2011 11:50:17
Quote Anchor link
Met hij bedoelde ik de TS (TopicStarter)
 
Jason  van der Zeeuw

Jason van der Zeeuw

02/06/2011 11:59:03
Quote Anchor link
Maarten Buijs op 02/06/2011 11:50:17:
Met hij bedoelde ik de TS (TopicStarter)


en toevallig is ZIJ de topicstarter.. -.-'
Gewijzigd op 02/06/2011 11:59:26 door Jason van der Zeeuw
 
Maarten PHP

Maarten PHP

02/06/2011 12:35:11
Quote Anchor link
sorry fout van mij excuus
 
Sven b

Sven b

02/06/2011 15:44:46
Quote Anchor link
Als ik het goed begrijp wil je dus 1 home.php gebruiken en wanneer je een link gebruikt op die site dat dan je content aangepast wordt. Naar bijv: gastenboek, contact of dergelijke. Dat allemaal via include? Dat klinkt echt wel vet. Werkt dat ook sneller? Ze zeggen dat je bijv bij css veel sneller is, omdat je niet alles opnieuw hoeft te laden. Is dat hierbij dan ook of wat is het voordeel?

Sowieso een leuke uitdaging.. Dus je wilde dat de links terug naar home.php verwees, maar dan een andere content includen ..

Groetjes sven
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.