8792 sujets

Développement web côté serveur, CMS

Bonjour à tous, j'ai un probleme qui risque vous paraître simple, mais qui pour moi commence a devenir trés enervant.

dans ma base
image2 est définit en TEXT, NULL
lien_image2 est définit en TEXT, NULL


dans un premier fichier toto.php
je fais cette affectation en utilisant un formulaire
<input type="text" size="100" name="image2" value="<?php echo $image2; ?>">
<input type="text" size="100" name="lien_image2" value="<?php echo $lien_image2; ?>">

j'utilise ce formulaire pour enregistrer le nom d'une image et un lien en rapport avec ce nom d'image.
Dans le cas qui m'interesse au moment ou je rempli mon formulaire, je ne renseigne que image2 et je laisse lien_image2 vide.
je les enregistres dans ma BDD

Je recupere ces variables dans le fichier tutu.php
Dans ce fichier je fait un test pour afficher l'image avec un lien ou sans et c'est la que le probleme ce pose.

<?php
If (isset($donnees['lien_image2']))
{
?><a href="images/news/planches/<?php echo $donnees['lien_image2'];?>" <img src="images/news/<?php echo $donnees['image2'];?>" border="0"></a><?php
}
else
{
echo '<img src="images/news/' . $donnees['image2'] . '">';
}

?>

le soucis c'est que au final, le test isset($donnees['lien_image2'] considere que la variable lien_image2 est non vide.


Voila merci pour vos idées.


Modifié par tex87 (10 Mar 2007 - 21:57)
Salut,
normal, isset() ne vérifie pas le contenu de la variable mais son existence. A partir du moment où tu extrais la variable $donnee['lien_...'], tu la déclares, donc elle existe.
Fais plutôt ta vérif avec

if ($donnee['lien...'] != "")


et là, tu verras plus de lien incongru si ta variable est vide (garde à l'esprit que même vide, dès le moment où tu déclares une variable, même vide, elle existe et isset() retournera TRUE)

Have swing
Modifié par virtualgadjo (09 Mar 2007 - 18:43)