Si l'ID (c'est-à-dire l'utilisateur) n'existe pas, j'envoie le header("Status: 404 Not Found");
au navigateur mais PHP envoie également le reste de la page. Ensuite, je l'ai fait pour rien envoyer, mais alors il a montré une page blanche vierge. Je veux qu'il montre la page d'erreur par défaut. Comment je vais le laisser faire?Comment je vais laisser PHP afficher la page d'erreur par défaut du serveur?
Répondre
header("Status: 404 Not Found");
readfile ($_SERVER['DOCUMENT_ROOT']."/404.html");
exit;
? ou vous avez besoin d'une solution universelle?
Que voulez-vous dire par universel? Je veux l'apprendre aussi. – ilhan
@ilhan je veux dire sans connaître le nom réel du fichier de la page d'erreur. Je ne sais pas la solution si :) –
Ajoutez également die;
après l'appel d'en-tête.
Je pense que dans ce cas, si vous ne définissez que l'en-tête, vous obtiendrez la page d'erreur par défaut de votre navigateur et non de votre serveur Web. Le problème est que la page existe pour le serveur Web. Donc, si vous savez où la page d'erreur de votre serveur est stockée, lisez-la à partir de là. Et assurez-vous que votre réponse est plus longue que (je pense que c'était) 512 octets, sinon le navigateur (en particulier IE) vous donnera sa propre page d'erreur.
vous pouvez définir via htaccess aussi,
ErrorDocument 500 http://foo.example.com/500.php
ErrorDocument 404 /404.php
ErrorDocument 401 /401.php
ErrorDocument 403 /403.php
selon la réponse d'état http
Vous devez utiliser 'header ('HTTP/1.1 404 Not Found')' - http: // fr .wikipedia.org/wiki/List_of_HTTP_status_codes – TheDeadMedic