Espace membres

Bonjour Anonyme

Inscription

Email :
Mot de passe :

Mot de passe oublié ?

Nos scripts

MySpeach

MySpeach est un chat php sans base de donnée, rapide, léger et facile à prendre en main. DEMO

MyPHPUpload

MyPHPUpload est un script d'upload sécurisé écrit en PHP. DEMO

GrapAgenda

Agenda PHP et MySQL avec comptes utilisateurs et administration. DEMO

Livre PHP

création de site

Redirection PHP

Cours / tutoriel écrit le 17-06-2010 par sky

Pour des raisons diverses, on peut parfois avoir besoin de faire une redirection. Nous pouvons très bien faire la redirection en JavaScript mais cela ne fonctionnera pas forcément dans tous les cas, par exemple si le navigateur à JavaScript désactivé. (c'est un cas rare certes...)

En PHP, la redirection se fera dans tous les cas étant donné que le code est exécuté par le serveur. Voyez comme il est très simple de faire une redirection en PHP :

Redirection serveur sans changer les entête du navigateur :
<?PHP
header ("location : fichier.php");
// On peut aussi mettre http://www.site.com à la place de fichier.php
?>



Attention
Une redirection en PHP doit être placé avant tout "output" (sorti de donnée) vers le navigateur. Pour faire simple : il ne doit y avoir AUCUN html avant la redirection. (pas de echo, print etc ...)



Redirection serveur

La redirection est définie par une fonction chargée de renvoyer un entête HTTP. Il faut bien sûr bien choisir le code de retour HTTP.

Pour exemple aussi, voici une redirection qui ne nuira pas au référencement sur un annuaire par exemple :
<?php
header("Status : 301 Moved Permanently");
header("Location: http://www.votresite.com/unepage.htm");
exit();
?>


Le code erreur 301 indique que le document se trouve définitivement à cet endroit. Du coup Google ne prendra pas en compte la page de redirection mais uniquement la page destinataire.


Exemple : utilisation de la fonction header() en PHP en faisant une redirection 302 (document déplacé de façon temporaire) :
<?php
header("Status : 302 Moved Temporary");
header("Location: http://www.votresite.com/unepage.htm");
exit();
?>



Pour une redirection après n secondes, il faut passer par du HTML ou du Javascript :
- redirecton HTML
- redirection Javascript

Voici la liste des Code HTTP :
    * 100 : OK pour continuer
    * 101 : le serveur a changé de protocoles
    * 200 : requête effectuée avec succès
    * 201 : document créé (raison : nouvelle URI)
    * 202 : requête achevée de manière asynchrone (TBS)
    * 203 : requête achevée de manière incomplète
    * 204 : aucune information à renvoyer
    * 205 : requête terminée mais formulaire vide
    * 206 : requête GET incomplète
    * 300 : le serveur ne peut pas déterminer le code de retour
    * 301 : document déplacé de façon permanente
    * 302 : document déplacé de façon temporaire
    * 303 : redirection avec nouvelle méthode d'accès
    * 304 : le champ '
if-modified-since' n'était pas modifié
    * 305 : redirection vers un proxy spécifié par l'entête
    * 307 : HTTP/1.1
    * 400 : erreur de syntaxe dans l'
adresse du document
    * 401 : pas d'autorisation d'accès au document
    * 402 : accès au document soumis au paiement
    * 403 : pas d'autorisation d'accès au serveur
    * 404 : la page demandée n'existe pas
    * 405 : méthode de requête du formulaire non autorisée
    * 406 : requête non acceptée par le serveur
    * 407 : autorisation du proxy nécessaire
    * 408 : temps d'
accès à la page demandée expiré
    * 409 : l'utilisateur doit soumettre à nouveau avec plus d'infos
    * 410 : cette ressource n'est plus disponible
    * 411 : le server a refusé la requête car elle n'
a pas de longueur
    * 412 : la précondition donnée dans la requête a échoué
    * 413 : l'entité de la requête était trop grande
    * 414 : l'
URI de la requête était trop longue
    * 415 : type de média non géré
    * 500 : erreur interne du serveur
    * 501 : requête faite au serveur non supprimée
    * 502 : mauvaise passerelle d'accès
    * 503 : service non disponible
    * 504 : temps d'
accès à la passerelle expiré
    * 505 : version HTTP non gérée
 

Commentaires

gautier ngoma le 21-01-2013

slt j ai un probleme avecmon formulaire que j ai cree sur le site web ,www.achilletransfert.com, mais cela ne passe pas,cela envois sur une passe qui dit qu il ya erreur 405,j aimerai recevoir le mail sur mon adresse mail [email protected]

sky le 24-06-2010

Salut. Essaye une redirection HTML (http://www.viaphp.net/cours/html/83-redirection-html) ou Javascript (http://www.viaphp.net/cours/javascript/84-redirection-javascript)

guiguise le 23-06-2010

Et si on veux être rediriger au bout de 5 secondes par exemple ?

Pseudo
Email
Commentaire

Merci d'écrire le code ici :