begin process at 2012 02 09 11:44:20
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > GESTION DES ERREURS

GESTION DES ERREURS


 Information sur la source

Note :
9,67 / 10 - par 6 personnes
9,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Niveau :Débutant Date de création :14/03/2004 Vu :10 333

Auteur : Aramiil

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

On trouve couremment sur le net (sur multimania par exemple) des moyens pour gerer les erreurs 404. Seulement il existe d'autre types d'erreur. Voici comment gerer toutes les erreurs HTML (erreurs de 400 à 415 et 500 à 505, soit tous les messages d'erreur standarts)

Source

  • 1) creez un fichier .htaccess qui contiendra les lignes de code suivantes:
  • ErrorDocument 400 /erreur.php?erreur=400
  • ErrorDocument 401 /erreur.php?erreur=401
  • ErrorDocument 402 /erreur.php?erreur=402
  • ErrorDocument 403 /erreur.php?erreur=403
  • ErrorDocument 404 /erreur.php?erreur=404
  • ErrorDocument 405 /erreur.php?erreur=405
  • ErrorDocument 406 /erreur.php?erreur=406
  • ErrorDocument 407 /erreur.php?erreur=407
  • ErrorDocument 408 /erreur.php?erreur=408
  • ErrorDocument 409 /erreur.php?erreur=409
  • ErrorDocument 410 /erreur.php?erreur=410
  • ErrorDocument 411 /erreur.php?erreur=411
  • ErrorDocument 412 /erreur.php?erreur=412
  • ErrorDocument 413 /erreur.php?erreur=413
  • ErrorDocument 414 /erreur.php?erreur=414
  • ErrorDocument 415 /erreur.php?erreur=415
  • ErrorDocument 500 /erreur.php?erreur=500
  • ErrorDocument 501 /erreur.php?erreur=501
  • ErrorDocument 502 /erreur.php?erreur=502
  • ErrorDocument 503 /erreur.php?erreur=503
  • ErrorDocument 504 /erreur.php?erreur=504
  • ErrorDocument 505 /erreur.php?erreur=505
  • 2)Creez un fichier "erreur.php" contenant les lignes suivantes:
  • <?
  • //on recupere la variable d'erreur
  • $_GET['erreur'];
  • //on la modifie
  • switch($erreur){
  • case 400:
  • $erreur.=" - erreur de syntaxe dans l\'adresse du document";
  • break;
  • case 401:
  • $erreur.=" - pas d\'autorisation d\'accès au document";
  • break;
  • case 402:
  • $erreur.=" - accès au document soumis au paiement";
  • break;
  • case 403:
  • $erreur.=" - pas d'autorisation d\'accès au serveur";
  • break;
  • case 404:
  • $erreur.=" - la page demandée n'existe pas";
  • break;
  • case 405:
  • $erreur.=" - méthode de requête du formulaire non autorisée";
  • break;
  • case 406:
  • $erreur.=" - requête non acceptée par le serveur";
  • break;
  • case 407:
  • $erreur.=" - autorisation du proxy nécessaire";
  • break;
  • case 408:
  • $erreur.=" - temps d\'accès à la page demandée expiré";
  • break;
  • case 409:
  • $erreur.=" - l\'utilisateur doit soumettre à nouveau avec plus d\'infos";
  • break;
  • case 410:
  • $erreur.=" - cette ressource n\'est plus disponible";
  • break;
  • case 411:
  • $erreur.=" - le serveur a refusé la requête car elle n\'a pas de longueur";
  • break;
  • case 412:
  • $erreur.=" - la précondition donnée dans la requête a échoué";
  • break;
  • case 413:
  • $erreur.=" - l\'entité de la requête était trop grande";
  • break;
  • case 414:
  • $erreur.=" - l\'URI de la requête était trop longue";
  • break;
  • case 415:
  • $erreur.=" - type de média non géré";
  • break;
  • case 500:
  • $erreur.=" - erreur interne du serveur";
  • break;
  • case 501:
  • $erreur.=" - requête faite au serveur non supprimée";
  • break;
  • case 502:
  • $erreur.=" - mauvaise passerelle d\'accès";
  • break;
  • case 503:
  • $erreur.=" - service non disponible";
  • break;
  • case 504:
  • $erreur.=" - temps d\'accès à la passerelle expiré";
  • break;
  • case 505:
  • $erreur.=" - version HTTP non gérée";
  • break;
  • }
  • //on redirige vers la page d'erreur en indiquant l'erreur
  • //Ici c'est index mais vous pouvez changer.
  • //En bas de cette page s'inscriera un message, donc faites gaffe au pseudo-
  • //frames, ca risque de les gacher.
  • include('index.php');
  • print('<div align="center"><h3>Une erreur de type '.$erreur.' s\'est produite.</h3></div>');
  • ?>
1) creez un fichier .htaccess qui contiendra les lignes de code suivantes:

ErrorDocument 400 /erreur.php?erreur=400
ErrorDocument 401 /erreur.php?erreur=401
ErrorDocument 402 /erreur.php?erreur=402
ErrorDocument 403 /erreur.php?erreur=403
ErrorDocument 404 /erreur.php?erreur=404
ErrorDocument 405 /erreur.php?erreur=405
ErrorDocument 406 /erreur.php?erreur=406
ErrorDocument 407 /erreur.php?erreur=407
ErrorDocument 408 /erreur.php?erreur=408
ErrorDocument 409 /erreur.php?erreur=409
ErrorDocument 410 /erreur.php?erreur=410
ErrorDocument 411 /erreur.php?erreur=411
ErrorDocument 412 /erreur.php?erreur=412
ErrorDocument 413 /erreur.php?erreur=413
ErrorDocument 414 /erreur.php?erreur=414
ErrorDocument 415 /erreur.php?erreur=415
ErrorDocument 500 /erreur.php?erreur=500
ErrorDocument 501 /erreur.php?erreur=501
ErrorDocument 502 /erreur.php?erreur=502
ErrorDocument 503 /erreur.php?erreur=503
ErrorDocument 504 /erreur.php?erreur=504
ErrorDocument 505 /erreur.php?erreur=505

2)Creez un fichier "erreur.php" contenant les lignes suivantes:

<?

//on recupere la variable d'erreur
$_GET['erreur'];

//on la modifie
switch($erreur){
case 400:
$erreur.=" - erreur de syntaxe dans l\'adresse du document";
break;
case 401:
$erreur.=" - pas d\'autorisation d\'accès au document";
break;
case 402:
$erreur.=" - accès au document soumis au paiement";
break;
case 403:
$erreur.=" - pas d'autorisation d\'accès au serveur";
break;
case 404:
$erreur.=" - la page demandée n'existe pas";
break;
case 405:
$erreur.=" - méthode de requête du formulaire non autorisée";
break;
case 406:
$erreur.=" - requête non acceptée par le serveur";
break;
case 407:
$erreur.=" - autorisation du proxy nécessaire";
break;
case 408:
$erreur.=" - temps d\'accès à la page demandée expiré";
break;
case 409:
$erreur.=" - l\'utilisateur doit soumettre à nouveau avec plus d\'infos";
break;
case 410:
$erreur.=" - cette ressource n\'est plus disponible";
break;
case 411:
$erreur.=" - le serveur a refusé la requête car elle n\'a pas de longueur";
break;
case 412:
$erreur.=" - la précondition donnée dans la requête a échoué";
break;
case 413:
$erreur.=" - l\'entité de la requête était trop grande";
break;
case 414:
$erreur.=" - l\'URI de la requête était trop longue";
break;
case 415:
$erreur.=" - type de média non géré";
break;
case 500:
$erreur.=" - erreur interne du serveur";
break;
case 501:
$erreur.=" - requête faite au serveur non supprimée";
break;
case 502:
$erreur.=" - mauvaise passerelle d\'accès";
break;
case 503:
$erreur.=" - service non disponible";
break;
case 504:
$erreur.=" - temps d\'accès à la passerelle expiré";
break;
case 505:
$erreur.=" - version HTTP non gérée";
break;
}

//on redirige vers la page d'erreur en indiquant l'erreur
//Ici c'est index mais vous pouvez changer.
//En bas de cette page s'inscriera un message, donc faites gaffe au pseudo-
//frames, ca risque de les gacher.
include('index.php');
print('<div align="center"><h3>Une erreur de type '.$erreur.' s\'est produite.</h3></div>');

?>

 Conclusion

Bon voila, j'ai un peu modifié à la barbare mon script original (en demo sur http://membres.lycos.fr/entraideberthelot mais venez pas trop nombreux vous inscrire, c'est un site que j'ai fait pour mon lycée), mais ca devrait marcher. Voila il existe surement des methodes plus simple mais celle-là marche bien.


 Sources du même auteur

Source avec Zip PHPMEWS - CONTENT MANAGMENT SYSTEM
Source avec Zip UN BLOG SIMPLE ET PERSONNALISABLE
DETECTION DE L'ECRITURE SMS
Source avec Zip GALERIE D'IMAGE AVEC RÉATION DE MINIATURE ET COMPRESSION DES...

 Sources de la même categorie

Source avec Zip Source avec une capture GENERATEUR D'ONGLET DE NAVIGATION PHP par pos123
FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILIS... par kgb93
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip Source avec une capture SYSTEME D'AUTHENTIFICATION PHP AVEC PROTÉCTION KEYLOGGER par mtrix000
Source avec Zip Source avec une capture GENERATEUR DE BOUTONS DE PARTAGES POUR RESEAUX SOCIAUX par cod57

Commentaires et avis

Commentaire de Mills le 14/03/2004 20:31:50

Ca va sans plus, mais bon ça peut etre utile

Commentaire de Aramiil le 14/03/2004 21:47:50

c'est vrai que c'est pas parfait mais bon je pense que ca peut toujours servir.

Commentaire de matrey le 14/03/2004 23:17:25

Tu peux simplement mettre

ErrorDocument 400 /erreur.php

et récupérer le numéro de l'erreur dans ton script avec

$_SERVER["REDIRECT_STATUS"]

Autre chose, les erreurs courantes sont : 401, 403, 404, 408, 500 et 503 (Les autres sont jamais représentées)

Commentaire de Rrominet le 15/03/2004 02:12:31

moi je trouve ce code plutôt utile !
peut etre qu'il y a + simple mais en tout cas ça me va bien ;)

Commentaire de fser le 16/03/2004 21:57:18

c'est quoi le rapport avec le php ?

Commentaire de Rrominet le 17/03/2004 19:24:18

fser : le code est en PHP...

Commentaire de The_magicien le 17/05/2006 19:30:21

Juste un petit détail... La plupart des hébergeurs proposent une gestion des erreurs dans la console d'admin... Donc assez inutile de s'embêter à coder!

Commentaire de thekid23 le 30/11/2006 00:11:06

Bien pas moi ;) Tres uties merci ;)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,310 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales