Bonjour,

J’aimerai, si ma variable $a[‘info_tel’] est bien renseigner en base, que cela m’affiche :
Tél.: 12 34 56 78 90
Sinon rien, ou un retour chariot.

J’obtiens bien ce résultat, mais pour les champs non renseignés le Tél.: reste présent.

Mon code est ceci :

<?php 
                if(!empty($_GET['info_tel'])){                      
                    echo "Tél.: {$a['info_tel']}";

                }else {
                    echo "\n";
                }
 ?>

Ou ai je pêché ? svp

Merci

6 réponses


Essaye de var_dump ta variable info_tel.
Colle ce qui est affiché dans les 2 cas ( sois disant vide et pleine )

Sinon, je viens de penser:
aussi lieu d'utiliser la négation du video, donc plein lol, tu peux faire ceci:

<?php 
                if(isset($_GET['info_tel'])){         // isset est un booléen tu peux décomposer par is set ou, existe.             
                    echo "Tél.: {$a['info_tel']}";

                }else {
                    echo "\n";
                }
 ?>
Fantoche
Auteur

Merci, oui j'avais testé aussi avec le isset qui affiche tout les info_tel et le !isset qui lui retire tout.

As-tu teamviewier pour que je regarde ça ?

Salut,

c'est bizarre, tu fais une condition sur $_GET, mais ensuite c'est $a que tu affiches.
Essaie comme ça :

if (isset($_GET['info_tel'])) { 
    echo "Tél.: {$_GET['info_tel']}";
} else {
    echo "\n";
}

Les accolades c'est par rapport à un framework ?

Ça fonctionne echo "\n" ?
Je croyais qu'on été obligé de mettre un <br>, mais je ne suis pas sur du tout.

Le "." (point) après "Tél", c'est pour afficher le caractère "." à l'écran ou pour essayer de faire un concaténation ?
Je demande parce-que,
si c'est pour afficher, ça me fait bizarre de voir ".:" ensemble l'un à coté de l'autre,
si c'est pour concaténer, il faut le sortir des guillemets.

yop,
ta valeur 'info_tel' est un array ?
ce qui expliquerai le empty mais si c un string essaie ça :

 if(isset($_GET['info_tel']) && $_GET['info_tel'] != ''){