login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Handige scripts > Redirect met header

Redirect met header

Auteur: Gerard - 12 augustus 2009 - 11:54 - Gekeurd door: Gerard - Hits: 3619 - Aantal punten: 3.50 (2 stemmen)




Een klein en simpel script wat gebruikt kan worden om gebruikers door te zenden naar een andere locatie. Het is tevens mogelijk om aan te geven dat de gebruiker verzonden dient te worden naar de pagina waar hij/zij vandaan kwam, als deze informatie beschikbaar is.

Wanneer je gebruik maakt van deze functie voorkom je tevens situaties waarbij je de exit vergeet. Op het moment dat je een header location aangeeft, zal PHP namelijk niet direct stoppen met het parsen van de pagina. Eventuele verwerkingen na de regel met de header location zullen dus gewoon uitgevoerd worden! Het is één van de valkuilen waar beginnende (en soms ervaren) programmeurs nog wel eens mee te maken krijgen.

Een voorbeeld implementatie, na het verwerken van formulier gegevens, kan er als volgt uitzien;
  1. <?php
  2.  
  3. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  4. {
  5. // Verwerk de gegevens van je formulier
  6.  
  7. redirect('http://www.sitemasters.be/profiel/362/Gerard', true);
  8. }

Code:
  1. <?php
  2.  
  3. /**
  4.   * This function can be used to easily redirect users to a given location. With the second argument it is
  5.   * also possible to redirect the user to his referring location, if available. Else the script will
  6.   * redirect to the given location.
  7.   *
  8.   * @author Gerard Klomp <gerard.klomp@sitemasters.be>
  9.   * @version 1.0
  10.   * @license http://sitemasters.be/mit-license.txt MIT License
  11.   * @param string $location The URL the user has to be redirected to
  12.   * @param bool $gotoRefererIfAvailable Go to referer if available, default false
  13.   */
  14. function redirect($location, $gotoRefererIfAvailable = false)
  15. {
  16. if ($gotoRefererIfAvailable && isset($_SERVER['HTTP_REFERER']))
  17. {
  18. $location = $_SERVER['HTTP_REFERER'];
  19. }
  20.  
  21. header('location: ' . $location);
  22. }
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Geen reacties (0)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.028s