login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Automatische doorverwijzing

Offline Pellens - 22/07/2007 16:28
Avatar van PellensPHP interesse Hi

ik heb een PHP pagina, en wil dat als je op de pagina "wachten.php" komt, je na x aantal seconden automatisch doorgestuurd wordt naar de pagina "klaar.php".

Is dit mogelijk met PHP of op andere manieren?

THNX

18 antwoorden

Gesponsorde links
Offline Wim - 22/07/2007 16:49
Avatar van Wim Crew algemeen 5 seconden wachten en dan doorsturen:
  1. <?php
  2. $time = 5;
  3. $url = 'http://www.google.be/';
  4.  
  5. sleep($time);
  6. header('location: '.$url);
  7. ?>
Offline Pellens - 22/07/2007 16:55
Avatar van Pellens PHP interesse Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\test\index.php:12) in C:\wamp\www\test\wachten.php on line 14

Dit bericht blijf ik krijgen...
Offline pim1991 - 22/07/2007 16:57
Avatar van pim1991 PHP interesse Bovenaan de pagina zetten:
Offline Pellens - 22/07/2007 17:01
Avatar van Pellens PHP interesse Ik lees dat het met Apache problemen kan geven... Ik zal het eens allemaal opzoeken!

Want ook met

krijg ik de foutmelding nog...
Offline Wim - 22/07/2007 17:22
Avatar van Wim Crew algemeen het kan natuurlijk ook met html:
<meta http-equiv="refresh" content="5;URL=http://www.domein.ext" />
Offline wes - 22/07/2007 18:05 (laatste wijziging 22/07/2007 18:07)
Avatar van wes PHP interesse php is handiger. En dat probleem met headers already sent: Je moet ob_start(); helemaal bovenaan de pagina zetten, dus ook boven de <html> etc. voorbeeldje:

  1. <?php
  2. ?>
  3. <html>
  4. ...

of:
  1. <?php
  2. header ("Refresh: 5; URL=pagina.php"); // voor 5 sec.
  3. ?>
  4. en de rest van de pagina


Maar dat apache problemen heeft met ob_start(); geloof ik eigenlijk niet. Want dat heb ik zelf ook al tientallen keren gedaan (het lukt natuurlijk niet als je die functie uit hebt gezet).
Offline anton - 11/01/2009 15:13
Avatar van anton Lid die header warning is omdat als je header("location: blabla") doet dan moet je die vóór de html tag zetten. nu zou ik willen om tijdens die wachttijd een textje te laten zien...maar als ik dat probeer dan laad ie de pagina gewoon 5 seconden en krijg ik niets van mijn text tezien...iemand enig idee hoe het wel moet? ik heb dit:
  1. <?php
  2. include("dbconnect.php");
  3. $s = "SELECT * FROM gebruikers WHERE rijdersnaam = '".$_COOKIE['logname']."'";
  4. $q = mysql_query($s);
  5. $plaats = "profiel";
  6. $url = "profiel.php?a=watch&id=".$l['gebruiker_id']."";
  7. include("head.php");
  8. if($_COOKIE['ingelogd'] == FALSE){?>
  9. <table align="center" border="1" bordercolor="#00CC66" cellpadding="0" cellspacing="0">
  10. <tr>
  11. <td bgcolor="#00CC66"><p align="center"><b>Foutmelding</b></p></td>
  12. </tr>
  13. <tr>
  14. <td><p align="center">Sorry , u moet ingelogd zijn om deze pagina te bezoeken!<br><br>
  15. MVG,<br>
  16. De Crew
  17. </p></td>
  18. </tr>
  19. </table>
  20. <?
  21. }elseif($l['gebruiker_id'] != $_GET['id']){?>
  22. <table align="center" border="1" bordercolor="#00CC66" cellpadding="0" cellspacing="0">
  23. <tr>
  24. <td bgcolor="#00CC66"><p align="center"><b>Foutmelding</b></p></td>
  25. </tr>
  26. <tr>
  27. <td><p align="center">Het is ten strengste verboden om andermans profiel te veranderen , staat in de regels waarmee u akkoord bent gegaan. Als dit drie keer voorkomt komt er een ban! U bent gewaarschuwd!<br><br>MVG,<br>De Crew
  28. </p><? sleep(5); header("location: index.php"); ?></td>
  29. </tr>
  30. </table>
  31. <?
  32. }else{
  33. ?>
  34. <html>
  35. <head>
  36. <title>YaweOnline , voel het verbond der rijders!</title>
  37. <style type="text/css">
  38. body{
  39. background:#000;
  40. }
  41. </style>
  42. </head>
ThX alvast!
Offline Wim - 11/01/2009 15:16
Avatar van Wim Crew algemeen Een sleep pauzeert het script letterlijk, en de html uitvoer wordt pas naar je browser doorgestuurd vanaf de php code uitgevoerd is (na de sleep dus).

Je kan met een html redirect werken of zoals hierboven aangegeven.

Trouwens:
datum schreef:
22/07/2007
Offline anton - 11/01/2009 15:25 (laatste wijziging 11/01/2009 15:30)
Avatar van anton Lid maar hoe kan ik dan terwijl hij 5 seconden wacht mijn table weergeven met while ofzo? die html redirect moet tussen de html tags staan veronderstel ik? het is de bedoeling dat hij enkel als de bezoeker probeert een ander id in te geven in de url enkel als die situatie zich voordoet moet hij na 5 sec doorverwijzen naar index.php terwijl hij die tabel toont...als je die html redirect tussen de html tags plaatst gaat ie dan niet automatisch naar index.php , eender welke situatie er is?


ThX
Offline Wim - 11/01/2009 15:28
Avatar van Wim Crew algemeen er staan 2 oplossingen in dit topic die voor u zullen werken, beetje lezen/zoeken kan geen kwaad imo
Offline anton - 11/01/2009 15:32
Avatar van anton Lid wat doet ob_start() dan precies???
Offline Wim - 11/01/2009 15:43
Avatar van Wim Crew algemeen PHP.net: ob_start
Offline anton - 11/01/2009 15:45
Avatar van anton Lid owjha...xD wel , ik heb alle oplossingen die hier gepost staan geprobeerd en genenkele werkt...ik moet iets hebben dat een while effect heeft...bijv: while(header("refresh: 5;URL=index.php")){} maar bij elke oplossing gaat hij wel naar de pagina maar krijg ik tog nooit men tabel te zien...:(
Offline Wim - 11/01/2009 15:58
Avatar van Wim Crew algemeen
wimmarien schreef:
het kan natuurlijk ook met html:
<meta http-equiv="refresh" content="5;URL=http://www.domein.ext" />
Offline anton - 11/01/2009 15:59 (laatste wijziging 11/01/2009 16:03)
Avatar van anton Lid werkt niet...ik zei tog dat ik alle oplossingen geprobeerd had en die werkt dus niet...hij verwijst wel door , maar dus zoals ik al zei in eender welke situatie...enkel als $l['gebruiker_id'] != $_GET['id'] mag er doorverwezen worden en moet ie tijdens die 5 sec de tabel tonen...snappie... iets zoals dit:
http://www.rune...nginput.ws
Offline Wim - 11/01/2009 16:09
Avatar van Wim Crew algemeen die html code moet werken, dan zit je fout elders
Offline Romic - 11/01/2009 16:52
Avatar van Romic Nieuw lid
  1. <?php
  2. $redirectto="http://www.domein.ext";
  3. if ($_['gebruiker_id']!=$_GET['id']){
  4. echo "<meta http-equiv=\"refresh\" content=\"5;URL=$redirectto\" />";
  5. }else
  6. {
  7. header ("Location: $redirectto");
  8. }
  9. ?>
Offline anton - 11/01/2009 23:15
Avatar van anton Lid ThX , ik heb het gedaan ,zoals op de runescape site die ik doorgaf...een aparte redirect pagina...die reageert op de vorige url dus ik kan voor elke error dezelfde redirect gebruiken. Thx allemaal
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.365s