Minder pagina's gebruiken met php
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.
Code (php)
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.
Je zorgt er voor dat de url iets is als 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
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
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.
<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.
Zo is het dus ook logisch dat hele HTML-pagina opbouw's onnodig zijn.
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.
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))
deze pagin/ Daar staat wel wat informatie over hoe switch() werkt.
Kijk eens op 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.
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.
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
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>
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