Minder pagina's gebruiken met php
Kan iemand mij helpen met de volgende code's ik weet nog steeds niet hoe ik ze moet invullen, maar eerst wat uitleg over mijn probleem. Ik wil op zo mijn mogelijk pagina's werken en niet voor ieder onderwerp een andere pagina. Dus ik wil een index pagina met een link menu en een tekst pagina met verschillende teksten die worden geselecteerd om naar index toe te gaan, ik heb begrepen dat ik zal moeten werken met $_GET
dus bijvoorbeeld (moet ik van "?pag=andere_pagina" andere_pagina veranderen in een hele url waar de tekst staat?)
<a href='www.mijnsite.nl/?pag=andere_pagina'> andere pagina </a></div>
en ik zal moeten werken met een if statement heb ik volgens mij gelezen, maar omdat ik nu zoveel heb gelezen zie ik letterlijk het bos niet meer door de bomen.
dus bijvoorbeeld (moet ik van "?pag=andere_pagina" andere_pagina veranderen in een hele url waar de tekst staat?)
<a href='www.mijnsite.nl/?pag=andere_pagina'> andere pagina </a></div>
en ik zal moeten werken met een if statement heb ik volgens mij gelezen, maar omdat ik nu zoveel heb gelezen zie ik letterlijk het bos niet meer door de bomen.
Het kan nog mooier met een switch
Code (php)
Je zorgt er voor dat de url iets is als www.jouwdomein.nl/index.php?pagina=home of www.jouwdomein.nl/index.php?pagina=contact
Via een switch (obv $_GET) bepaal je welke gegevens je gaat ophalen vanuit de database.
edit: Aar was net iets sneller.
Via een switch (obv $_GET) bepaal je welke gegevens je gaat ophalen vanuit de database.
edit: Aar was net iets sneller.
Gewijzigd op 13/06/2011 17:33:03 door Obelix Idefix
Bedankt voor 2 hele snelle reacties, maar omdat ik net bezig ben met php wil ik eigenlijk niet echt voorgekouwde php codes. Ik zou graag uitleg hebben over wat ik moet doen en dat dan zelf doen, zo leer ik het beter. Maar om de moeite van de eerste 2 post niet te laten verspillen heb ik toch wat uitgeprobeerd, maar met weinig suc6.
wat ik heb gedaan is de volgende de "case" heb ik de naam gegeven van het stukje tekst (bv <div id="naam1">tekst</div> wat in tekst.php staat. De url wat ik al genoemd heb ik www.mijnsite.nl?pag=tekst. En als laatste heb ik in de php code van Aar include veranderd (2 stuks) in tekst.php
wat ik heb gedaan is de volgende de "case" heb ik de naam gegeven van het stukje tekst (bv <div id="naam1">tekst</div> wat in tekst.php staat. De url wat ik al genoemd heb ik www.mijnsite.nl?pag=tekst. En als laatste heb ik in de php code van Aar include veranderd (2 stuks) in tekst.php
Gewijzigd op 13/06/2011 18:18:30 door Jarek Danowski
Als je een link hebt kun je die bijvoorbeeld laten linken naar:
Dan kom je op de pagina 'index.php' terecht en heb je in je superglobal $_GET de waarde 'pag'. Aan de hand van die waarde kun je een IF statement of een switch gebruiken om de juiste pagina te includen.
Voordat je een pagina include, denk na waar je op wil controleren. Je wil niet dat kwaadwilligen pagina's in je website gaan includen die je niet wil. Daarom kun je bijvoorbeeld de functie file_exists() gebruiken om te kijken of het bestand bestaat. Ik doe er meestal ook nog de functie stripslashes() bij, dan kunnen gebruikers geen files uit andere directories includen omdat de slashes er uit gehaald worden.
Dan kom je op de pagina 'index.php' terecht en heb je in je superglobal $_GET de waarde 'pag'. Aan de hand van die waarde kun je een IF statement of een switch gebruiken om de juiste pagina te includen.
Voordat je een pagina include, denk na waar je op wil controleren. Je wil niet dat kwaadwilligen pagina's in je website gaan includen die je niet wil. Daarom kun je bijvoorbeeld de functie file_exists() gebruiken om te kijken of het bestand bestaat. Ik doe er meestal ook nog de functie stripslashes() bij, dan kunnen gebruikers geen files uit andere directories includen omdat de slashes er uit gehaald worden.
dit is mijn index (stukje)
<div class='menu'>
<a href='http://mijnsite.nl/test.php?pag=tekst'> andere pagina </a></div>
<div class='content'>
</div>
</div>
en dit is mijn tekst.php (heel simpel genomen)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<div id="tekst"> wat een mooi weertje</div>
<div id="tekst1"> het regent veel te hard</div>
</body>
</html>
Maar als ik dat zo heb staan dan als ik op de link druk heb ik allebei de teksten ... wat doe ik toch fout ?
<div class='menu'>
<a href='http://mijnsite.nl/test.php?pag=tekst'> andere pagina </a></div>
<div class='content'>
Code (php)
</div>
</div>
en dit is mijn tekst.php (heel simpel genomen)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<div id="tekst"> wat een mooi weertje</div>
<div id="tekst1"> het regent veel te hard</div>
</body>
</html>
Maar als ik dat zo heb staan dan als ik op de link druk heb ik allebei de teksten ... wat doe ik toch fout ?
Include() haalt een bestand op en niet een losse regel. Zie php.net eens voor meer info.
include doet niets anders dan bijvoegen op dezelfde pagina.
Zo is het dus ook logisch dat hele HTML-pagina opbouw's onnodig zijn.
Zo is het dus ook logisch dat hele HTML-pagina opbouw's onnodig zijn.
ik denk dat ik mijn excusses moet aanbieden want ik heb het niet goed uitgelegd,
ik wil in mijn index pagina een php code. In de tekst pagina wil ik meerder teksten hebben waarvan maar 1 tekst word laten zien. en als ik op een link druk dan moet een andere tekst worden laten zien van dezelfde tekst pagina. (hopelijk ben ik duidelijk en niet weer mensen onnodig mij laat helpen)
even een voorbeeld (als ik goed kan uitleggen)
je start de pagina op, er staat dan al een tekst(1) uit tekstpagina
je drukt op een link, de pagina veranderd niet alleen de tekst(1) word tekst(2)
de tekst(2) word uit dezelfde "tekstpagina" gehaald als tekst(1)
of is het niet mogelijk zoiets?
ik wil in mijn index pagina een php code. In de tekst pagina wil ik meerder teksten hebben waarvan maar 1 tekst word laten zien. en als ik op een link druk dan moet een andere tekst worden laten zien van dezelfde tekst pagina. (hopelijk ben ik duidelijk en niet weer mensen onnodig mij laat helpen)
even een voorbeeld (als ik goed kan uitleggen)
je start de pagina op, er staat dan al een tekst(1) uit tekstpagina
je drukt op een link, de pagina veranderd niet alleen de tekst(1) word tekst(2)
de tekst(2) word uit dezelfde "tekstpagina" gehaald als tekst(1)
of is het niet mogelijk zoiets?
Gewijzigd op 13/06/2011 19:46:41 door Jarek Danowski
Dan zal je de switch() boven de teksten moeten zetten en zo de juiste eruit halen.
dus mijn index kan zo blijven staan, toch?
en mijn tekst pagina moet ik de teksten
maar ik merk al dat ik het fout heb... en ik zie het maar niet :S
voordat iemand me hele uitleg gaat geven wat ik fout heb wilt iemand mij een goede tutorial sturen over de switch? misschien leer ik het dan zelf ( en als ik ondersteuning nodig heb kom ik terug (na flink wat uitproberen))
en mijn tekst pagina moet ik de teksten
maar ik merk al dat ik het fout heb... en ik zie het maar niet :S
voordat iemand me hele uitleg gaat geven wat ik fout heb wilt iemand mij een goede tutorial sturen over de switch? misschien leer ik het dan zelf ( en als ik ondersteuning nodig heb kom ik terug (na flink wat uitproberen))
Kijk eens op deze pagin/ Daar staat wel wat informatie over hoe switch() werkt.
Klik eens op de link in je script. Daar is de uitleg te vinden.
Maar door al deze includes gebruik je toch evenveel, of zelfs meer pagina's? Of zie ik dat nou verkeerd.
Nee sorry mensen, ik snap het niet.
kan niemand mij heel simpel de 2 php kunnen geven wat ik moet hebben en uitleggen wat die daar doet. De bedoeling is om dalijk juist heel weinig pagina's te hebben. Dus waaraan ik dacht ( weet niet of het mogelijk is) is dus steeds een link van index.php naar tekstpagina.php daaruit een bepaalde tekst selecteren en op index.php laten zien in BV een iframe. Ik werk trouwen graag met tabellen dus ik heb in de juiste tabel een iframe klaarstaan met een naam om de teksten daar gelezen te krijgen.
Ik moet dus kunnen invullen=
-de naam van de tekst
-tekstpagine.php
-waar hij moet worden laten zien (BV target="iframe")
en dat allemaal op index.php de link maken lukt me wel met een target dat zal bv zijn
<a href="mijnsite.nl/tekstpagina.php" target="iframe">linknaam</a>
maar ik vraag me nog steeds af hoe ik de gedeelte tekst uit tekstpagina.php kan halen en dat die dan laat zien in de iframe
kan niemand mij heel simpel de 2 php kunnen geven wat ik moet hebben en uitleggen wat die daar doet. De bedoeling is om dalijk juist heel weinig pagina's te hebben. Dus waaraan ik dacht ( weet niet of het mogelijk is) is dus steeds een link van index.php naar tekstpagina.php daaruit een bepaalde tekst selecteren en op index.php laten zien in BV een iframe. Ik werk trouwen graag met tabellen dus ik heb in de juiste tabel een iframe klaarstaan met een naam om de teksten daar gelezen te krijgen.
Ik moet dus kunnen invullen=
-de naam van de tekst
-tekstpagine.php
-waar hij moet worden laten zien (BV target="iframe")
en dat allemaal op index.php de link maken lukt me wel met een target dat zal bv zijn
<a href="mijnsite.nl/tekstpagina.php" target="iframe">linknaam</a>
maar ik vraag me nog steeds af hoe ik de gedeelte tekst uit tekstpagina.php kan halen en dat die dan laat zien in de iframe
iframes en includen zijn beiden totaal wat verschillends.
Maar snap je wat ik bedoel, het hoeft niet perse een iframe te zijn die is zo weer verwijderd als ik wil. Ik snap de include verhaal jammer genoeg niet ik weet niet wat ik waar moet invullen. Ik weet niet eens als ik met geluk toch uiteindelijk het goeie heb gedaan wat ik precies heb gedaan...
Op de plek daar waar de includes staan, daar worden de pagina's geincludeerd.
Voorbeeld: Index.php
In pagina.php staat dit:
Dan zal pagina.php in index.php worden opgenomen op de plaats van include() en zal dit als resultaat hebben:
Dan zal php het parsen en een html output geven.
En aangezien er geen <br/> in staat is dit de output:
blablanoooobliep
In pagina.php staat dit:
Dan zal pagina.php in index.php worden opgenomen op de plaats van include() en zal dit als resultaat hebben:
Code (php)
Dan zal php het parsen en een html output geven.
En aangezien er geen <br/> in staat is dit de output:
blablanoooobliep
Het is me gelukt me de codes van -SanThe-, maar uiteraard het is nog niet wat ik wou ik snap dat include de pagina laat zien. Ik hoef er dan geen opmaak erin te zetten ( in pagina.php). Als het mogelijk zou kunnen zijn wil ik via verschillende links verschillende teksten ophalen uit dezelfde pagina.php
Nu dacht ik met switch iets te proberen maar als ik het doe, krijg ik dat regel 13 fout is en dit heel simpel genomen de code die ik dan gebruik
en dit is de foutmelding te zijn :
Notice: Undefined index: .... on line 13
wat doe ik toch fout ? oja de link die boven de php code staat is als volgt
<a href="mijnsite.nl/?pag=pagina">linknaam</a>
Nu dacht ik met switch iets te proberen maar als ik het doe, krijg ik dat regel 13 fout is en dit heel simpel genomen de code die ik dan gebruik
Code (php)
en dit is de foutmelding te zijn :
Notice: Undefined index: .... on line 13
wat doe ik toch fout ? oja de link die boven de php code staat is als volgt
<a href="mijnsite.nl/?pag=pagina">linknaam</a>
Zet ten eerste bij elke case aan het eind (onder de include) "break;". De foutmelding geeft waarschijnlijk aan dat $_GET['pag'] niet bestaat. Ze eens op regel 12 de volgende code:
Het resultaat van print_r is het best te bekijken in de page source.
Code (php)
Het resultaat van print_r is het best te bekijken in de page source.
Gewijzigd op 14/06/2011 09:42:33 door The Force




