Condition qui s’affiche toujours !

Par Fantoche, il y a 9 ans


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

Mehdikacim, il y a 9 ans

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

Mehdikacim, il y a 9 ans

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, il y a 9 ans

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

Mehdikacim, il y a 9 ans

As-tu teamviewier pour que je regarde ça ?

SLK, il y a 9 ans

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.

saibe, il y a 9 ans

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'] != ''){