login  Naam:   Wachtwoord: 
Registreer je!
 Forum

direct nieuws(systeem)

Offline Button - 01/07/2006 20:35
Avatar van ButtonPHP ver gevorderde hallo iedereen,

ik heb een vraagje: ik heb een site en als je naar die site gaat bv. www.mijnsite.be, kom je op de index.php, dat is natuurlijk logisch (www.mijnsite.be/index.php zou dus hetzelfde resultaat halen).
Nu ik wil dat mijn bezoekers direct mijn nieuwssysteem zien zonder eerst op een link te klikken, de link van dat nieuwssysteem is dan index.php?pagina=nieuws/nieuws&nieuwspage=tonen. hoe los ik dit op?

hier alvast de stuk van de code van index.php waarin de pagina's worden geïnclude:
  1. <table width="59%" height="417" border="0" cellpadding="0" cellspacing="0" align="center">
  2. <tr>
  3. <th height="284" scope="col" ><img src="meandspain.jpg" /></th>
  4. </tr>
  5. <tr>
  6. <th scope="row">
  7. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  8. <tr>
  9. <th width="21%" scope="col"></th>
  10. <th width="79%" scope="col"><div align="left" class="style2">
  11. <?
  12. include("paginas_inc.php");
  13. ?>
  14. </div></th>
  15. </tr>
  16. <tr>
  17. <th><a href="index.php?pagina=login/login&loginpage=form">admin</a></th>
  18. </tr>
  19. </table>
  20. </th>
  21. </tr>
  22. </table>
(ok, 'k zou beter divs gebruiken, maar daar gaat het nu niet om )

op voorbaat dank

Groeten,
Button

8 antwoorden

Gesponsorde links
Offline Lemon - 01/07/2006 20:38
Avatar van Lemon PHP expert
  1. <?php
  2. header("location: index.php?pagina=nieuws/nieuws&nieuwspage=tonen");
  3. ?>


Dit zal ervoor zorgen dat een pagina automatisch geredirect wordt naar die achter location: staat. (Deze actie moet geplaatst worden voor dat er enige html code wordt gebruikt of een echo doet.
Offline svm - 01/07/2006 20:38
Avatar van svm PHP ver gevorderde Includen?
Offline Rens - 01/07/2006 20:39
Avatar van Rens Gouden medaille

Crew algemeen
Je zou de bezoeker door kunnen sturen naar het nieuwssysteem, of je include de pagina van het nieuwssysteem waar je de X-aantal nieuwste berichten krijgt.
Het doorsturen zonder dat de bezoeker er iets van merkt:
  1. header("Location: index.php?pagina=nieuws/nieuws&nieuwspage=tonen");

Zo word de bezoeker meteen doorgestuurd, en hij/zij merkt er vrijwel niks van.
Het is alsof de bezoeker gewoon index.php bezoekt, maar dat die pagina word geladen.

Ook kun je de nieuwspagina includen, op de plek waar je content komt te staan:
  1. include "nieuws/nieuws.php";

Daar zou je zoiets kunnen doen:
  1. if(!IsSet($_GET['pagina']))
  2. {
  3. // nieuws includen
  4. } else
  5. {
  6. // checks om te controleren of de opgevraagde pagina toegestaan is
  7. }
Offline finduilas - 01/07/2006 20:39
Avatar van finduilas PHP gevorderde Kijk met $_GET of de pagina bestaat.Indien niet include index.php?pagina=nieuws/nieuws&nieuwspage=tonen
Offline Button - 01/07/2006 20:45 (laatste wijziging 01/07/2006 20:49)
Avatar van Button PHP ver gevorderde ja, ik had ook al aan die middelen gedacht: maar waar moet ik die header()-functie dan zetten want ik kan ze niet zomaar op mijn index.php neerplanten dan zou ze eeuwig blijven verwijzen...

@Rensjuh: jouw tweede mogelijkheid gaat niet helemaal, want dan wordt die nieuwscontent wel geïnclude, maar als de mensen bv. vanaf de tweede pagina terug naar de index.php?pagina=nieuws/nieuws&nieuwspage=tonen willen gaan dan zien ze het nieuwssysteem twee keer omdat de andere pagina's ook moeten worden geïnclude en dan krijg je zoiets:

  1. <table width="59%" height="417" border="0" cellpadding="0" cellspacing="0" align="center">
  2. <tr>
  3. <th height="284" scope="col" ><img src="meandspain.jpg" /></th>
  4. </tr>
  5. <tr>
  6. <th scope="row">
  7. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  8. <tr>
  9. <th width="21%" scope="col"></th>
  10. <th width="79%" scope="col"><div align="left" class="style2">
  11.  
  12. <?
  13. include "nieuws/nieuws.php";//edit
  14. include("paginas_inc.php");//hier wordt bv. login.php geïnclude enz...
  15. ?>
  16. </div></th>
  17. </tr>
  18. <tr>
  19. <th><a href="index.php?pagina=login/login&loginpage=form">admin</a></th>
  20. </tr>
  21. </table>
  22. </th>
  23. </tr>
  24. </table>
Offline Lemon - 01/07/2006 20:53
Avatar van Lemon PHP expert wat je kan doen is beslissen welke pagina's er getoont moeten worden via een $_GET variabele.

Bijvoorbeeld iemand komt naar index.php (gewoon rechtstreeks dus).

  1. <?php
  2. $pagina = $_GET['pagina'];
  3. if(file_exists($pagina.".php")) {
  4. include($pagina.".php");
  5. } else {
  6. include("nieuws.php");
  7. }
  8. ?>


Als er geen get wordt gestuurd gaat nieuws ingeladen worden. In je menu zet je dan bijvoorbeeld voor het forum: index.php?pagina=forum.

Zo zal forum.php geinclude worden.
Offline Rens - 01/07/2006 20:54
Avatar van Rens Gouden medaille

Crew algemeen
Nee, kijk, ik zal een voorbeeldje laten zien:
  1. <?PHP
  2. // kijken of er een pagina= in de url staat
  3. if(IsSet($_GET['pagina']))
  4. {
  5. // ja
  6. // nu kijken of de pagina bekeken mag worden
  7. if(In_Array($_GET['pagina'], $aPagina))
  8. {
  9. // ja
  10. // we zetten nu een var. met daarin de waarde uit pagina=
  11. $sInclude = $_GET['pagina'];
  12. } else
  13. {
  14. // nee, de pagina mag niet bekeken worden
  15. // zet de error 404 pagina in de var.
  16. $sInclude = "errors/404";
  17. }
  18. } else
  19. {
  20. // er is geen pagina in de url geset
  21. // dus zetten we de nieuws pagina als content
  22. $sInclude = "nieuws/nieuws";
  23. }
  24. // en nu gaan we de pagina includen
  25. include $sInclude.".php";
  26. ?>


Zo word er maar 1 pagina geïnclude.
Als de gebruiker naar http://www.jesite.nl/ gaat, krijgt hij het nieuws te zien.
Vraagt hij echter de loginpagina op, word er gekeken of deze pagina bekeken mag worden, en zo ja, word die pagina weergeven, en zie je het nieuws niet.
Als de bezoeker dan weer naar de index van je site gaat, ziet hij/zij het nieuws weer.
Offline Button - 01/07/2006 21:01
Avatar van Button PHP ver gevorderde ja lol, dat snap ik wel (daar maak ik al gebruik van), maar ik denk dat jullie het een beetje verkeerd geïnterpreteerd hebben, maar ik heb de oplossing al na de reactie van finduilas, hij leek mij het omgekeerde te zeggen van wat jij (Rensjuh)eerst zei.

Ik zie nu ook dat je datgene dat ik nu gebruikt heb ook toegepast hebt , in je laatste reactie.

Nu ja, opgelost!

Dank je iedereen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.259s