8710 sujets

Développement web côté serveur, CMS

Bonjour,

Une fois mon programme en service je souhaite ne plus recevoir le message d'erreur du type : Access denied for user 'rot'@'localhost'

mais au contraire faire un message personnalisé du genre "site momentanément indisponible"

Je pensais que or die permettais cela mais en "localhost" le message d'erreur apparaît en plus de mon message.
La bonne chose à faire est-elle de mettre le @ devant mysqli_connect ?

Merci

Voici mon code (avec une erreur rot au lieu de root)
<?php
$hote = "localhost";
$utilisateur = "rot";
$mdp = "";
$nombase = "mabase";

$cnx = mysqli_connect($hote, $utilisateur, $mdp, $nombase)
	or die ("site momentanément indisponible");

?>
Avec PDO, tu pourrais générer une exception que tu pourrais intercepter, mais avec mysqli je crois que tu n'as effectivement pas d'autre solution que le @ pour masquer ponctuellement le warning.

Une bonne pratique en production et beaucoup plus solide que le @ ponctuel, c'est de cacher toutes les erreurs avec error_reporting(0).
Bonjour,

Peut-etre qu'en lancant une exception, tu peux lancer un header(500) et rediriger vers une page d'erreur 500 ?

En exploitant le .htaccess