Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

gestion de retour erreur

5 réponses
Avatar
Etienne SOBOLE
salut.

J'ai un client qui nous envoie des commandes via HTTP.
Il peut arriver que notre script retourne une erreur ou meme plante !!!
byzarre.

bref. comment je peux retourner un code erreur 500 ou 404 par defaut et
renvoyer au dernier moment, si tout s'est bien passé le code erreur 200.
notre client ne testant que le code erreur HTTP et partant du principe que
200 = c'est bon.

merci
Etienne

5 réponses

Avatar
Jahjah92
Bonsoir ,
<?php
header("HTTP/1.0 404 Not Found");
?>
ou
<?php
header("HTTP/1.1 200 OK");
?>
ça fera l'affaire non ?
A+
Avatar
Etienne SOBOLE
"Jahjah92" a écrit dans le message de news:
449836e0$0$29782$
Bonsoir ,
<?php
header("HTTP/1.0 404 Not Found");
?>
ou
<?php
header("HTTP/1.1 200 OK");
?>
ça fera l'affaire non ?
A+


salut.

oui ma question etait en fait
est ce que
<?
header("HTTP/1.0 404 Not Found");
header("HTTP/1.1 200 OK");
?>

fonctionne.
c'est a dire est ce que ca retourne bien un code erreur 200?
en gros est ce que je peux envoyer plusieurs fois header("HTTP ...") dans
mon script

merci
Etienne

Avatar
Arnaud BERNARD-BRUNEL
"Jahjah92" a écrit dans le message de news:
449836e0$0$29782$
Bonsoir ,
<?php
header("HTTP/1.0 404 Not Found");
?>
ou
<?php
header("HTTP/1.1 200 OK");
?>
ça fera l'affaire non ?
A+


salut.

oui ma question etait en fait
est ce que
<?
header("HTTP/1.0 404 Not Found");
header("HTTP/1.1 200 OK");
?>

fonctionne.
c'est a dire est ce que ca retourne bien un code erreur 200?
en gros est ce que je peux envoyer plusieurs fois header("HTTP ...") dans
mon script

merci
Etienne


Non, le navigateur va considérer le premier code reçu et ignorer le reste.
pour ce que tu souhaites faire utilise plutôt un if
le code ->
<?
if ($ta_variable==true)
// test pour savoir si ton script
//est arrivé au bout de son traitement correctement
{
header("HTTP/1.1 200 OK");
}
else
{
header("HTTP/1.0 404 Not Found");
}
?>

Mais un autre code http serai peut-être plus adapté
Regarde dans cette liste :

100 : OK
101 : Le serveur a changé de protocoles
200 : Requête effectuée avec succès
201 : Document créé
202 : Requête fini de manière asynchrone (TBS)
203 : Requête fini de manière incomplète
204 : Aucune infos à renvoyer
205 : Requête terminée, mais formulaire vide
206 : Requête GET incomplète
300 : Le serveur ne détermine pas 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
305 : Redirection vers un proxy spécifié par l'entête
307 : HTTP/1.1
400 : Erreur de syntaxe dans l'adresse
401 : Pas l'autorisation d'accès au document
402 : Accès au document soumis au paiement
403 : Pas l'autorisation d'accès au serveur
404 : La page demandée n'existe pas
405 : Méthode de requête 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 : Manque d'infos (formulaire)
410 : Cette ressource n'est plus disponible
411 : Le serveur a refusé la requête(mauvaise 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

le code 503 serait le bon ?

jahjah92 tu en penses quoi ?

@+ et bon courage


Avatar
ftc
oui ma question etait en fait
est ce que
<?
header("HTTP/1.0 404 Not Found");
header("HTTP/1.1 200 OK");
?>

fonctionne.
c'est a dire est ce que ca retourne bien un code erreur 200?
en gros est ce que je peux envoyer plusieurs fois header("HTTP ...") dans
mon script


Pourquoi vouloir ramener 2 codes ?

Soit il y a une erreur, soit il n'y en a pas.

C'est la gestion globale des erreurs dans ton script qu'il va falloir
revoir.

Si tu juges qu'une erreur est critique, tu envoie ton code d'erreur et
tu termines ton script, si tu juge que l'erreur n'est pas critique tu
laisses tourner le script et tu envoie ton code 200 avant d'envoyer le
contenu.

Avatar
Jahjah92
jahjah92 tu en penses quoi ?
Merci de me demander mon avis !

En effet le premier code retourné sera celui pris en compte.
Il faut gérer les erreurs et renvoyer 200 si c'est bon et voir se qu'accepte
le client en cas d'erreur.
@+