Problème gestion des erreurs dans php 5

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème gestion des erreurs dans php 5

par FreakDev » 06 mars 2009, 16:07

tu peux également utiliser PDO, et lever les exceptions PDO dans un try catch, ou encore implémenter une gestion personalisée des erreurs (et d'envoyer des exceptions "personnalisées") avec la fonction set_error_handler (mais cette solution me semble un peu plus "périlleuse")

par Ryle » 06 mars 2009, 15:31

Il te suffit d'utiliser le résultat de la fonction mysql_query() si ta base est MySQL.

Cette fonction retourne FALSE en cas d'erreur dans le traitement de la requête. Tu peux ainsi savoir si la requête à réussi ou non et rediriger l'utilisateur ou lui afficher le message d'erreur de ton choix :)
<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Requête invalide : ' . mysql_error());
}
?> 

par @Fredrick » 06 mars 2009, 15:07

Merci mais j'ai déja essayé un try/catch, mais en php ça fonctionne seulement pour les exceptions, pas pour les erreurs.

par Sodams » 06 mars 2009, 14:57

Tout simplement en redirigeant l'utilisateur vers la page error en cas d'exception.
try
{
     throw new Exception();
}
catch(Exception $e)
{
     header('loaction:errorPage.php'); 
}

Problème gestion des erreurs dans php 5

par @Fredrick » 06 mars 2009, 14:46

Bonjour,

Existe t-il un moyen (ou une astuce) pour gérer les erreurs avec php ? je vous explique mon cas :

Je suis en train de créer une appliweb permettant d'administrer et d'effectuer des requêtes mysql, l'utilisateur a le moyen d'entrer des commandes SQL via un formulaire. Si la commande est correcte, le résultat s'affiche dans un tableau, mais s'il y a une erreur (par exemple utiliser une table inexistante) je tombe sur la page d'erreur de php, ce qui bloque complétement mon application.

Y a t-il un système genre try/catch permettant de renvoyer l'utilisateur vers une page d'erreur que j'aurai préalablement créée à cet effet ?



Merci.