Easy-Design.Net forum




Aides sur les thèmes PHPBoost [Réglé] Customiser une page d'erreur "can't connect to database"

janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 28/11/2014 à 15h08

Reprise du message précédent

Bonjour,

non sa pose pas de problème le changement de texte, je l'est fait un peu à la va vite, et j'ai l'habitude de "coder" les adresse mail pour éviter que les bots spam l'adresse.

Si tu as un doute sur un code PHP tu peu utiliser ceci : http://fr.piliapp.com/php-syntax-check/

Par contre ton lien de retour à l'accueil est faux, avec ceci cela fonctionne mieux :
Code PHP :
 
if ($_GET['error'] == 1 && $_GET['_err_stop'] == 1){
echo '<div style="background-color:#F4F4F4;">Nous sommes désolé, une erreur s'est produite.<br />
L'administrateur du site a été averti, veuillez revenir sur <a href="../">l'accueil du site planet-truck.fr</a><br />
Si l'erreur persiste vous pouvez me contactez à l'adresse suivante : mickael@planet-truck.fr <br /><br />
Voici plus de d&eacutetails sur l'erreur :</div>';
}
 


Pourquoi seulement "../"


Tout simplement car comme ça on va remonter d'un dossier en arrière, on passera donc de planet-truck.fr/site/member/ à planet-truck.fr/site/ et voilà sur l'accueil du site.




@m-ickael : j'ai mis le fichier à jour (celui-ci : http://pastebin.com/raw.php?i=cYRa3k2L), avec tes changement + un arrangement du "design" qui respecte celui de ton site (à peu prêt) ou cas ou le message d'erreur se présente avec le template.
Je me suis basé sur tes menus.

Et voici la page ou tu peu voir le message en "live" : http://planet-truck.fr/site/member/fatal.php?error=1&_err_stop=1

Cordialement, janus57 Edité par janus57 Le 28/11/2014 à 15h09
   
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 28/11/2014 à 18h55
Salut ..

Je ne vois pas de changement sur ton lien .. c'est toujours ta phrase du début.

Merci cependant pour l'erreur :) .. J'ai vu l'affichage, c'est peu visible, et on voit toujours ce cadre rouge avec l'erreur .. Dommage.

Je vais faire les modifs, merci encore :top
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 28/11/2014 à 19h01
Bonjour,

oups modifs mal passé, là sa doit être bon.

Le cadre rouge restera car c'est le template PHPBoost, mais normalement sa doit être un peu plus "harmonieux" avec les modifs CSS.

EDIT :
<strong> n'est plus vraiment recommandé.

Cordialement, janus57 Edité par janus57 Le 28/11/2014 à 19h02
   
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 28/11/2014 à 19h02
Ok .. :top

Je met en "quote" ma sauvegarde que j'avais un peu optimisé entre temps :

Citation:
<?php
/***************************************************************************
* fatal.php
* -------------------
* begin : April 12, 2007
* copyright : (C) 2007 CrowkaiT
* email : [email protected]
*
*
*
***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
***************************************************************************/

require_once '../kernel/begin.php';

echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>' . $LANG['error'] . '</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="../templates/' . get_utheme() . '/theme/design.css" rel="stylesheet" type="text/css" media="screen" />
<link href="../templates/' . get_utheme() . '/theme/global.css" rel="stylesheet" type="text/css" media="screen" />
<link href="../templates/' . get_utheme() . '/theme/generic.css" rel="stylesheet" type="text/css" media="screen" />
<link href="../templates/' . get_utheme() . '/theme/bbcode.css" rel="stylesheet" type="text/css" media="screen" />
<link href="../templates/' . get_utheme() . '/theme/content.css" rel="stylesheet" type="text/css" media="screen" />
<link rel="shortcut" href="../favicon.ico" />
</head>
<body><br /><br /><br />';
if ($_GET['error'] == 1 && $_GET['_err_stop'] == 1){
echo '<div style="background-color:#F4F4F4;"><br />
    <strong>Nous sommes désolé, une erreur s'est produite.</strong><br /><br />
    L'administrateur du site a été averti, veuillez revenir sur <a href="../"><strong>l'accueil du site planet-truck.fr</strong></a><br />
    Si l'erreur persiste vous pouvez me contactez à l'adresse suivante : [email protected] <br /><br />
    <strong>Voici plus de d&eacutetails sur l'erreur :</strong>
<br /><br /></div>';
}


//Récupération de l'erreur dans les logs.
$errinfo = $Errorh->get_last__error_log();
if (empty($errinfo))
list($errinfo['errno'], $errinfo['errstr'], $errinfo['errline'], $errinfo['errfile']) = array('-1', '???', '0', 'unknow');

$Template->set_filenames(array(
'error'=> 'member/error.tpl'
));

$class = $Errorh->get_errno_class($errinfo['errno']);

$Template->assign_vars(array(
'THEME' => get_utheme(),
'ERRORH_IMG' => 'stop',
'ERRORH_CLASS' => $class,
'C_ERRORH_CONNEXION' => false,
'C_ERRORH' => true,
'L_ERRORH' => sprintf($LANG[$class], $errinfo['errstr'], $errinfo['errline'], basename($errinfo['errfile'])),
));

$Template->pparse('error');

echo '</body></html>';

require_once '../kernel/footer_no_display.php';

?>


Je test ta mise en place. Merci :top

EDIT : Pourquoi plus recommandé? :O .. Je remplace par quoi? <b> .... </b> ? Edité par m-ickael Le 28/11/2014 à 19h03
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 28/11/2014 à 19h09
Voila, c'est vraiment super !

J'ai fais quelques modif (taille de 500px, comme le cadre rouge, ce qui est uniforme :top) .. J'ai ajouté une image "home", et j'ai supprimé deux lignes également (voir deuxième quote) :

La sauvegarde opérationnelle :

Citation:
<?php
/***************************************************************************
* fatal.php
* -------------------
* begin : April 12, 2007
* copyright : (C) 2007 CrowkaiT
* email : [email protected]
*
*
*
***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
***************************************************************************/

require_once '../kernel/begin.php';

echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>' . $LANG['error'] . '</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="../templates/' . get_utheme() . '/theme/design.css" rel="stylesheet" type="text/css" media="screen" />
<link href="../templates/' . get_utheme() . '/theme/global.css" rel="stylesheet" type="text/css" media="screen" />
<link href="../templates/' . get_utheme() . '/theme/generic.css" rel="stylesheet" type="text/css" media="screen" />
<link href="../templates/' . get_utheme() . '/theme/bbcode.css" rel="stylesheet" type="text/css" media="screen" />
<link href="../templates/' . get_utheme() . '/theme/content.css" rel="stylesheet" type="text/css" media="screen" />
<link rel="shortcut" href="../favicon.ico" />
<style>
a:hover {
background-color:#000000;
color:#FFFFFF;
}
</style>
</head>
<body><br /><br /><br />';
if ($_GET['error'] == 1 && $_GET['_err_stop'] == 1){
echo '<div style="background-color:#F4F4F4; max-width:500px; margin: 0px auto; padding:15px;"><a href="../"><img src="../images/autres/menu-2013/home-m-brh.png"></a><br /><br />
<B>Nous sommes d&eacutesol&eacute, une erreur s'est produite.</B><br /><br />
L'administrateur du site a &eacutet&eacute averti, veuillez revenir sur <a href="../"><b>l'accueil du site planet-truck.fr</b></a><br /><br />
Si l'erreur persiste vous pouvez me contactez à l'adresse suivante : [email protected] <br /><br />
<b>Voici plus de d&eacutetails sur l'erreur (cadre rouge) :</b></div>';
}

//Récupération de l'erreur dans les logs.
$errinfo = $Errorh->get_last__error_log();
if (empty($errinfo))
list($errinfo['errno'], $errinfo['errstr'], $errinfo['errline'], $errinfo['errfile']) = array('-1', '???', '0', 'unknow');

$Template->set_filenames(array(
'error'=> 'member/error.tpl'
));

$class = $Errorh->get_errno_class($errinfo['errno']);

$Template->assign_vars(array(
'THEME' => get_utheme(),
'ERRORH_IMG' => 'stop',
'ERRORH_CLASS' => $class,
'C_ERRORH_CONNEXION' => false,
'C_ERRORH' => true,
'L_ERRORH' => sprintf($LANG[$class], $errinfo['errstr'], $errinfo['errline'], basename($errinfo['errfile'])),
));

$Template->pparse('error');

echo '</body></html>';

require_once '../kernel/footer_no_display.php';

?>


Les deux lignes supprimés qui font "tâche" :

Citation:
'L_ERROR' => $LANG['error'],
'U_BACK' => '<a href="' . get_start_page() . '">' . $LANG['home'] . '</a>' . (!empty($_SERVER['HTTP_REFERER']) ? ' » <a href="' . url($_SERVER['HTTP_REFERER']) .'">' . $LANG['back'] . '</a>' : ' » <a href="javascript:history.back(1)">' . $LANG['back'] . '</a>'),
Edité par m-ickael Le 28/11/2014 à 19h15
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 28/11/2014 à 19h36
Bonjour,

Pour <strong> j'ai rien dit, ton utilisation est correcte, car il permet de mettre un texte/mot(s) important en avant, c'est la balise <b> qui est déprécié en HTML et que ne devrais plus être utilisé.

Si on veux mettre un mots en gras (qui n'est pas important pour le lecteur) il faut passer par le CSS avec "font-weight: bold;", si on veux marquer un mot ou un bout de texte comme étant important faut utiliser <strong>.

Cette différence n'est pas visible pour un visiteur classique, mais pour un visiteur ou un robots qui lui utilise un dispositif spécifique (qui en générale suit les règles W3C) lui verra une différence qui peu tout changer.

Donc le fait que tu es mis que c'est une erreur + le liens de retour + les détails en <strong> c'est finalement très bien contrairement à ce que j'avait mis en edit (j'ai écrit trop vite sans réfléchir :( ).

Enfin les 2 lignes que tu as supprimé, tu aurais je pense du les garder mais les ré-organiser dans le template, car du coup ton template doit utiliser des variables inconnnu si tu ne les as pas supprimé dans le template.
Et ces 2lignes permettait de faire un retour en arrière (c'était le fil d'ariane) qui finalement était peut être mieux que le retour à l'accueil.

Cordialement, janus57
   
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 28/11/2014 à 19h45
Pas de soucis pour les strong .. je changerai ça de nouveau, car j'avais changé avec la balise B ..

Pour les deux lignes, il n'y a pas de template pour fatal.php si? Sinon on aurait pu personnaliser l'erreur de façon plus facile :)

Si je décide de les garder, ça devient pas très beau, voir bâclé .. Tu ne trouve pas? Je remet?

janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 28/11/2014 à 20h00
Bonjour,

si le fatal a un template, MAIS, si pour une raison X ou Y le template ne se déclenche pas (page blanche), la personnalisation de l'erreur s'affichera quand même car la personnalisation est hors template, par contre du coup ton message sera faussé car il n'y aura pas de cadre rouge si le template ne se déclare pas.

Et au début du sujet tu le dit toi même que tu avait une page blanche (donc sans template), voilà pourquoi les modifs sont fait hors template, mais on peu toujours modifier le template pour que l'erreur soit "jolie" quand elle sera présenté avec le template.

J'ai jamais réussit à provoquer cette erreur sans template, mais vu que sans template c'est une bête page blanche sa sera de toute façons "moche" si le template ne se déclenche pas.

Donc pour finir j'ai un peu jouer en local et finalement je te propose ceci :
fatal.php : http://pastebin.com/cYRa3k2L
error.tpl (/member/templates/error.tpl) : http://pastebin.com/SKyQacsT

Et voici un aperçus en local :

Cordialement, janus57
   
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 28/11/2014 à 20h07
J'ai une erreur d'encodage .. :heu
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 28/11/2014 à 20h21
Bonjour,

avec mes fichiers ?

Car de mon côté j'ai 0problèmes :/

EDIT :
lors du copier/coller bien faire attention aux espaces en début de fichier, et surtout ne pas encoder en UTF-8.

Lien RAW du .php : http://pastebin.com/raw.php?i=cYRa3k2L
Lien RAW du .tpl : http://pastebin.com/raw.php?i=SKyQacsT

Cordialement, janus57 Edité par janus57 Le 28/11/2014 à 20h25
   
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 28/11/2014 à 20h30
ça marche maintenant .. J'ai dû laisser des espaces .. Quand je copie et colle, ça garde les espaces fourni dans le non raw ..

Je pense qu'on a terminé, c'est super :top .. Franchement super :)

Merci énormément.
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 28/11/2014 à 20h32
Par contre, juste une info ..

Est-il normal que je n'ai plus la même erreur? (Cadre gris maintenant)

http://planet-truck.fr/site/member/fatal.php?error=1&_err_stop=1

Code PHP :
 Remarque : Undefined index: error
 
 
Ligne 52 : fatal.php 
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 28/11/2014 à 20h33
Bonjour,

maintenant à voir dans le temps, mais au moins tu as une jolie page d'erreur si le template se déclenche.

Cordialement, janus57
   
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 28/11/2014 à 20h38
Ok, et pour ce code cette erreur,c 'est normal? :

Citation:

Code PHP :
 Remarque : Undefined index: error
 
 
Ligne 52 : fatal.php 
janus57 Membre non connecté

EDN Erudit(e)

Rang

Avatar

Inscrit le : 14/01/2013 à 21h59

Messages: 1018

Le 28/11/2014 à 20h43
Bonjour,

oui c'est parce que avant tu avait supprimé cette variable, je l'avait expliqué ici : http://easy-design.net/forum/topic-3131-4+customiser-une-page-d-erreur-can-t-connect-to-database.php#m35228

Si tu supprime une variable il faut le faire dans le TPL car si tu le fait directe dans PHP il va te loger plein de "notice" dans l'administration et il va donc te remplir les logs.

Et si tu la supprime juste du TPL et la laisse dans le PHP bah c'est pas grave, elle est juste inutilisé, rien de plus (c'est le cas avec mes modifs).

Cordialement, janus57
   
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 28/11/2014 à 20h45
Non, je n'ai pas supprimé la variable justement .. J'avais tout remis lorsque tu m'avais dis ça ..

Maintenant j'ai ceci :

Citation:
Erreur fatale : ???


Ligne 0 : unknow


Mais si c’est normal, ça va. Edité par m-ickael Le 28/11/2014 à 20h46
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie