Changer les messages quotidienne de PHP

Résolu
Arbitta Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -  
Arbitta Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -
salut ,
j'ai ce code php qui teste l'existence des balises meta dans un lien donné.Comment je peut faire pour que le serveur PHP m'affiche en cas d'erreur le message que je le précis et non pas sont message.
Exemple : si la balise Meta description n'existe pas alors je veut qu'il afficher sur écran seulement : la balise n'existe pas .Et non pas :
Notice:
Undefined index: description in C:\EasyPHP5.3.9\www\docum\Analy.php on line 9
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
Grâce à la fonction ISSET...


if(!isset($mavariable)){
 echo "La variable n'existe pas";
}


0
Arbitta Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
oui je sais ça mais je veut changé le message d'erreur que le Serveur PHP l'affiche par mon propre message.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Arbitta Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
Tu ne peux pas !
Ce sont des messages d'erreurs "types" liés à des erreurs de script dans ton code.....
Pour ne pas les avoir (ou afficher autre chose...) c'est à toi de coder "proprement" en utilisant par exemple les ISSET !
0
Arbitta Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
Et Comment je peut faire ça??
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Arbitta Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
Je t'ai donné un exemple ... et tu m'as dit que tu savais...... ??????

Mais bon.... sans voir ton code... difficile de te répondre.

Donc imaginons que ton souci se trouve sur des variables de type POST....
ça donnerait quelque chose du genre:
 $author = isset($_POST['author'])?$_POST['author']:NULL;
if(!$author){
 echo "<br>Ceci est mon message d'erreur pour dire que author n'existe pas !! ";
}
0
Arbitta Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
Voilà Mon code :
<?php
$tags = get_meta_tags($_POST['Lien']);
if ($tags['description'])
{ echo ($tags['description']);} 
else {echo ("la balise description est introuvable");} 
if ($tags['author'])      
{echo ($tags['author']);} 
else {echo ("la balise author est introuvable");} 
if ($tags['keywords'])
{echo ($tags['keywords']);} 
else {echo ("la balise keywords est introuvable");} 
if ($tags['geo_position'])
{echo ($tags['geo_position']);} 
else {echo ("la balise position est introuvable");} 
?>


Si les Attributs n'existe pas (par exemple : meta author n'existe pas dans ma page html ) alors il m'affiche le message d'erreur en plus mon probre message que la balise author est introuvable .

EDIT : Ajout des balises de code
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
1 - Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


2 - Voici le code corrigé :
$tags = isset($_POST['Lien'])?get_meta_tags($_POST['Lien']):NULL;
if($tags){
 //récupération des variables 
 $description = isset($tags['description'])?$tags['description']:NULL;
 $author = isset($tags['author'])?$tags['author']:NULL;
 $keywords = isset($tags['keywords'])?$tags['keywords']:NULL;
 $geo_position = isset($tags['geo_position'])?$tags['geo_position']:NULL;
 
 //affichage des message si les balises n'existent pas :
 if(!$description){  echo "la balise description est introuvable";}
 if(!$author){    echo "la balise author est introuvable";}
 if(!$keywords){    echo "la balise keywords est introuvable";}
 if(!$geo_position){  echo "la balise geo_position est introuvable";}

}else{
 echo "<br> La balise tags n'existe pas ! ";
}



Cordialement,
Jordane
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
Accessoirement, depuis PHP 5.3 on peut raccourcir les opérateurs ternaires, qui renvoient la valeur donnée si elle évalue à
true
, sinon l'autre valeur spécifiée (donc si
false
ou inexistante); exemple:
 $description = $tags['description'] ?: NULL;
 $author = $tags['author'] ?: NULL;
 $keywords = $tags['keywords'] ?: NULL;
 $geo_position = $tags['geo_position'] ?: NULL;
0
Arbitta Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup Jordane et gravgun . C'est ça ce que je cherche ;) .
0