Problème avec test de variable


aliens
WRInaute discret
WRInaute discret
 
Messages: 60
Inscription: 8 Nov 2006

Problème avec test de variable

Message le Sam Sep 19, 2009 11:19

Bonjour,

j'ai un petit soucis avec un bout de code.

J'ai besoin de tester si une variable contient effectivement une valeur.

Mon bout de code sert à générer une url canonique si besoin (si par exemple un produit est affecté à plusieurs catégories)

Voici le morceau de code:

Code: Tout sélectionner
$canonicalurl = strip_tags( $db_product->f("tag"));
   $canonical = '<link rel="canonical" href="' . $canonicalurl . '" />';
   $mainframe->addCustomHeadTag( $canonical );


Ce que je voudrais faire c'est n'afficher

Code: Tout sélectionner
$mainframe->addCustomHeadTag( $canonical );

[/code]

UNIQUEMENT si tag contient une adresse (si l'enregistrement n'est donc pas nul).

Quelqu'un pourrait il me venir en aide ?
Merci,


Mountain Magazin
WRInaute impliqué
WRInaute impliqué
 
Messages: 598
Inscription: 1 Oct 2004

Re: Problème avec test de variable

Message le Sam Sep 19, 2009 12:15

Code: Tout sélectionner
if ( isset ( $variable) ) {}

OU

if ( !empty ( $variable) ) {}


Ca ne va pas ça pour ce que tu veux faire ? ou alors j'ai pas tout compris.


aliens
WRInaute discret
WRInaute discret
 
Messages: 60
Inscription: 8 Nov 2006

OK // CODE CORRECT ?? Re: Problème avec test de variable

Message le Sam Sep 19, 2009 21:59

Bonsoir,

Bon finalement j'ai fait comme ça et ca marche.

Par contre je ne suis pas sûre de la qualité du code.

Vous en pensez quoi ?

Code: Tout sélectionner
$canonicalurl = strip_tags( $db_product->f("tag"));
   $canonical = '<link rel="canonical" href="' . $canonicalurl . '" />';
   if ($canonicalurl==NULL)
   {echo "";
   }
   else
   {echo $mainframe->addCustomHeadTag( $canonical );}


Lorsque le champ tag contient quelque chose (en l'occurence une adresse xxxx.html", le champ s'affiche bien. Lorsque le champ tag est vide, rien ne s'affiche.

Est ce que tout est propre au niveau du code ?

Merci d'avance,
Nathalie


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8578
Inscription: 23 Nov 2005

Re: Problème avec test de variable

Message le Sam Sep 19, 2009 22:06

Pourquoi ne pas tout simplement faire

Code: Tout sélectionner
$canonicalurl = strip_tags( $db_product->f("tag"));
   $canonical = '<link rel="canonical" href="' . $canonicalurl . '" />';
   if ($canonicalurl !== NULL)
   {echo $mainframe -> addCustomHeadTag( $canonical );}


Parce que je vois mal à quoi il sert ton echo "".


aliens
WRInaute discret
WRInaute discret
 
Messages: 60
Inscription: 8 Nov 2006

Re: Problème avec test de variable

Message le Sam Sep 19, 2009 23:25

Bonsoir, merci beaucoup.

Je vais être honnête, moi non plus je vois pas trop parceque je ne suis pas une acharnée du php, ce n'est pas vraiment ma tasse de thé.

J'essaie de faire comme je peux avec les "moyens du bord", et les miens sont pas géniaux en php.

J'ai donc testé avec ton code et ca ne marche pas.

Même si mon champ "tag" est vide, je me retrouve dans le head de ma page avec ceci

<link rel"canonical" href="" />

Donc c'est INCORRECT, tandis qu'avec mon code lorsque "tag" ne contient rien, il n'affiche rien.

Pourquoi ?

Bon week end.
Nathalie


aliens
WRInaute discret
WRInaute discret
 
Messages: 60
Inscription: 8 Nov 2006

Re: Problème avec test de variable

Message le Sam Sep 19, 2009 23:44

En fait ton code marche mais seulement avec un seul égal ( != )

donc

$canonicalurl = strip_tags( $db_product->f("tag"));
$canonical = '<link rel="canonical" href="' . $canonicalurl . '" />';
if ($canonicalurl != NULL)
{echo $mainframe -> addCustomHeadTag( $canonical );}

Pourquoi pas avec les 2 ?


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8578
Inscription: 23 Nov 2005

Re: Problème avec test de variable

Message le Dim Sep 20, 2009 7:10



Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

  • Tester le type de redirection
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
  • Analyse de l'entête HTTP
    Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
  • Positionnement sur data centers Google
    Cet outil vous permet d'afficher sur une seule page les résultats Google effectués sur de nombreux data centers (centres de données).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité