login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[Php] Funtion? (Opgelost)

Offline Simax - 26/11/2007 15:14 (laatste wijziging 26/11/2007 15:14)
Avatar van SimaxOnbekend Beste mensen,

Ik maak gebruik van een javascript redirect.
  1. <script type="text/javascript">
  2. url="index.php?page=home"
  3. setTimeout("location.href=url",3000)
  4. </script>


Zou ik deze ok in een functie kunnen zetten,
zodat ik deze makkelijk kan aanroepen in andere paginas?

Alvast bedankt .

20 antwoorden

Gesponsorde links
Offline Ricky - 26/11/2007 15:23
Avatar van Ricky PHP beginner Kwestie van in een .js bestand zetten...

  1. function redir(url,timeout) {
  2. setTimeout("location.href=url",timeout);
  3. }


En in je HEAD-tag verwijs je dan als volgt:
  1. <script type="text/javascript" src="hetbestand.js">
Offline Simax - 26/11/2007 15:47
Avatar van Simax Onbekend Kan ik deze niet in een php functie zetten?
Offline marten - 26/11/2007 16:04 (laatste wijziging 26/11/2007 16:04)
Avatar van marten Beheerder
  1. echo '<script type="text/javascript">
  2. url="index.php?page=home"
  3. setTimeout("location.href=url",3000)
  4. </script>';


zoiets misschien?
Offline Simax - 26/11/2007 16:09 (laatste wijziging 26/11/2007 16:10)
Avatar van Simax Onbekend Dit heb ik nu in functions.php..
  1. <?php
  2. function redirect()
  3. {
  4. "<script type=\"text/javascript\">
  5. url=\"index.php?page=home\"
  6. setTimeout(\"location.href=url\",3000)
  7. </script>";
  8. }
  9. print redirect();
  10. ?>


En wanneer ik deze wil aanroepen in andere paginas,
dan gebeurt er niets .
Offline cloudstrife - 26/11/2007 16:24 (laatste wijziging 26/11/2007 16:24)
Avatar van cloudstrife PHP beginner Vrij logisch, je print een functie die niets retourneerd. Of je returned een waarde of je zet je print in de functie.
Offline Mad_Mike - 26/11/2007 16:30
Avatar van Mad_Mike PHP beginner en moet er geen ; achter iedere regel javascript? 
Offline Simax - 26/11/2007 20:04 (laatste wijziging 26/11/2007 20:41)
Avatar van Simax Onbekend dus dit zou moeten werken..
  1. <?php
  2. function redirect()
  3. {
  4. "<script type=\"text/javascript\">
  5. url=\"index.php?page=home\"
  6. setTimeout(\"location.href=url\",3000)
  7. </script>";
  8. print redirect();
  9. }
  10. ?>
Offline Grayen - 26/11/2007 20:14
Avatar van Grayen PHP ver gevorderde Dat zal natuurlijk niet werken, want hij returned niks.

Dit moet het zijn als je het zo wilt aanpakken.

  1. <?php
  2. function redirect()
  3. {
  4. return '<script type="text/javascript">
  5. url="index.php?page=home";
  6. setTimeout("location.href=url", 3000);
  7. </script>';
  8. }
  9. print redirect();
  10. ?>


Zelf zou ik meer het volgende doen:

  1. <?php
  2. header('location=index.php?page=home');
  3. ?>


of als je per se een wachttijd wilt:

  1. <?php
  2. // 3 = 3 sec
  3. header('refresh: 3; url=index.php?page=home');
  4. ?>
Offline Koen - 26/11/2007 20:20
Avatar van Koen PHP expert
Mad_Mike schreef:
en moet er geen ; achter iedere regel javascript? 

Niet noodzakelijk..
Offline Simax - 26/11/2007 20:40
Avatar van Simax Onbekend
Grayen schreef:
Zelf zou ik meer het volgende doen:

[..code..]

"Warning: Cannot modify header information - headers already sent"
Offline DMM - 26/11/2007 20:44 (laatste wijziging 26/11/2007 20:47)
Avatar van DMM PHP beginner Dit kan je misschien helpen:
#1
#2
#3
Offline Simax - 27/11/2007 19:33
Avatar van Simax Onbekend Zodra ik mijn script (met function redirect();) uit probeer,
word mijn apache server gestopt. Om een of andere reden crasht deze..

  1. <?php
  2. function redirect()
  3. {
  4. <script type="text/javascript">
  5. url="index.php?page=home"
  6. setTimeout("location.href=url",3000)
  7. </script>
  8. print redirect();
  9. }
  10. ?>
Offline ctraets - 27/11/2007 20:03 (laatste wijziging 27/11/2007 20:04)
Avatar van ctraets Nieuw lid je moet ook geen print redirect erin zetten.
  1. </php
  2. function redirect(){
  3. <script type="text/javascript">
  4. url="index.php?page=home"
  5. setTimeout("location.href=url",3000)
  6. </script>
  7. return redirect();
  8. }
  9. ?>


Ik zou het zo doen
Offline Grayen - 27/11/2007 21:34 (laatste wijziging 27/11/2007 21:35)
Avatar van Grayen PHP ver gevorderde @hierboven

Dat is echt een grote rommel 

* Je opent php niet correct
* je output of returned de gewenste html niet
* je krijgt een warning vanwege het de tekst binnen php
* als je die warning zou hebben weggewerkt zou je een eeuwige loop krijgen, omdat je in de functie de zelfde functie returned.

Hier zijn een aantal voorbeelden hoe het wel zou kunnen:

  1. <?php
  2. // Als je het niet wilt echoën
  3. function redirect()
  4. {
  5. ?>
  6. <script type="text/javascript">
  7. url="index.php?page=home"
  8. setTimeout("location.href=url",3000)
  9. </script>
  10. <?php
  11. }
  12.  
  13. redirect();
  14.  
  15. // Met echo
  16. function redirect()
  17. {
  18. echo '<script type="text/javascript">
  19. url="index.php?page=home"
  20. setTimeout("location.href=url",3000)
  21. </script>';
  22. }
  23.  
  24. redirect();
  25.  
  26. // Eerst de html returnen en dan pas outputen
  27. function redirect()
  28. {
  29. return '<script type="text/javascript">
  30. url="index.php?page=home"
  31. setTimeout("location.href=url",3000)
  32. </script>';
  33. }
  34.  
  35. echo redirect();
  36. ?>


Hoe je het ook doet, het komt allemaal op het zelfde neer.
Offline delta_004 - 28/11/2007 16:58
Avatar van delta_004 Onbekend Dom..., waarom zou je in php een javascript funtie zetten?

Doe het dan met header() refresh en url;)

en voor de
"Warning: Cannot modify header information - headers already sent"
moet je obstart gebruike
Offline Simax - 28/11/2007 17:26 (laatste wijziging 28/11/2007 17:41)
Avatar van Simax Onbekend Wat is beter?

Met behulp van Javascript of
met Php en dan obstart() gebruiken?
Offline Koen - 28/11/2007 17:51
Avatar van Koen PHP expert
Simax schreef:
Wat is beter?

Met behulp van Javascript of
met Php en dan obstart() gebruiken?

Javascript kan de bezoeker uitschakelen, PHP niet.
en het is PHP.net: ob_start() ipv obstart().
Gebruik dus PHP.
Offline vobizzz - 28/11/2007 18:25 (laatste wijziging 28/11/2007 18:27)
Avatar van vobizzz Lid
  1. <?php
  2.  
  3.  
  4. function redirect(){
  5.  
  6. $url = "index.php?page=home"; // het url dat je wilt
  7.  
  8. header("Refresh: 3; url=".$url);
  9.  
  10. }
  11.  
  12. ?>


nu is hij helemaal in php
dus waar dit wilt gebruiken moet je gewoon dit gebruiken:

  1. <?php
  2.  
  3. redirect();
  4.  
  5. ?>
Offline delta_004 - 28/11/2007 18:32 (laatste wijziging 28/11/2007 18:33)
Avatar van delta_004 Onbekend
sliphead schreef:
[..quote..]
Javascript kan de bezoeker uitschakelen, PHP niet.
en het is PHP.net: ob_start() ipv obstart().
Gebruik dus PHP.


Weet ik;) Maar ik typ het altijd half zodat er zelf ook nog een beetje werk achter zit;)

  1. <?php ob_start(); function redirect($url, $i=3){
  2. header("Refresh: ".$i."; url=".$url); }
  3. // redirect("page", "sec")
  4. ?>
Offline Simax - 30/11/2007 14:26 (laatste wijziging 30/11/2007 14:37)
Avatar van Simax Onbekend Werkt..
  1. <?php
  2.  
  3. function redirect()
  4. {
  5. $url = "index.php?page=home";
  6. header("Refresh: 3; url=".$url);
  7. }
  8. ?>


Bedankt allemaal .
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.301s