condition très simple mais qui ne fonctionne pas

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : condition très simple mais qui ne fonctionne pas

par Dom! » 23 août 2008, 13:12

Ok ok merci pour vos explications ! j'en apprend tous les jours... :D

Merci

par AB » 18 août 2008, 23:19

Ben oui Dom!

C'est pas terrible quand le code est en orange, ça ressemble à des commentaires, non ?
et puis même ta première condition est mal codée et il manquait un point virgule.

Si tu tiens à utiliser des doubles cotes il aurait fallu écrire
if ($infosjeu['url_commentaire'] !="") 
echo "<a href=\"".$infosjeu['url_commentaire']."\">Laisser un commentaire01</a>";
else 
echo "<a href=\"http://truc.heberg-forum.net/post_newtopic_62.html\">Laisser un commentaire02</a>";
?> 
Mais il est souvent beaucoup plus simple d'utiliser les simples quotes comme le code initial
<?php
if($infosjeu['url_commentaire'] != '')
echo '<a href="'.$infosjeu['url_commentaire'].'">Laisser un commentaire</a>';
else
echo '<a href="http://truc.heberg-forum.net/post_newtopic_62.html">Laisser un commentaire</a>';
 ?> 
Maintenant si par "plus simple" tu voulais dire que pour des conditions simples on peut se passer d'accolades ouvrantes et fermantes {... ;} on est d'accord;
Juste le pb est que pour le reste les doubles quotes sont souvent moins faciles à formater, et tu en as donné la preuve :wink:

Bon je crois qu'on peut considérer le sujet comme résolu maintenant vu que son auteur l'a déclaré ainsi.

par dunbar » 18 août 2008, 13:14

Dunbar pourquoi dis tu que j'affiche les erreurs !? le code que j'ai marqué fonctionne parfaitement !
Parce que le bout de code comme tu le donne ne sais pas fonctionner
<?php  
if ($infosjeu['url_commentaire'] !="") 
echo "<a href="'.$infosjeu['url_commentaire'].'">Laisser un commentaire01</a>" 
else 
 echo "<a href="http://truc.heberg-forum.net/post_newtopic_62.html">Laisser un commentaire02</a>"    ?> 

par AB » 17 août 2008, 23:51

Quand c'est résolu on a l'habitude de cliquer sur le bouton "résolu" qui se situe en haut de ta page. ça aide les personnes à savoir que le sujet contient la réponse.
A bientôt :wink:

par le_debutant » 17 août 2008, 22:52

Salut,
J'ai simplement enlever l'espace que tu avais laisser :wink:
if($infosjeu['url_commentaire']!=' ') 
est devenu
if($infosjeu['url_commentaire']!='') 
Tu lui demandait une condition différente d'une espace vide :idea: ce qui ne veut pas dire la même chose que pas de donnée
merci bcp :wink:
on est moins idiot chaque jour qui passe :lol:

par Dom! » 17 août 2008, 11:25

Dunbar pourquoi dis tu que j'affiche les erreurs !? le code que j'ai marqué fonctionne parfaitement !

par AB » 17 août 2008, 05:48

Vu qu'AB est dans le coin...

On n'aurait pas pu utiliser
if(empty($infosjeu['url_commentaire']))
Ce qui aurait pu éviter les erreurs de "" ou " "...
Effectivement empty détermine simplement si variable contient une valeur ou pas
Dans le contexte plus haut :
1/
if($infosjeu['url_commentaire'] != '')
pour avoir une équivalence plus restrictive, il aurait fallu écrire :
2/
if(!empty($infosjeu['url_commentaire']))
La première condition est vraie pour toutes les valeurs différentes de rien ('').
La numéro 2 est vraie pour toutes les valeurs différentes de rien ('') et différentes de 0

Attention donc quand vous utilisez empty ou son inverse !empty. C'est très pratique mais il faut faire gaffe au cas particulier de la valeur 0

par dunbar » 16 août 2008, 23:34

Vu qu'AB est dans le coin...

On n'aurait pas pu utiliser
if(empty($infosjeu['url_commentaire']))
Ce qui aurait pu éviter les erreurs de "" ou " "...
Effectivement empty détermine simplement si variable contient une valeur ou pas

par Aureusms » 16 août 2008, 22:43

Vu qu'AB est dans le coin...

On n'aurait pas pu utiliser
if(empty($infosjeu['url_commentaire']))
Ce qui aurait pu éviter les erreurs de "" ou " "...

par dunbar » 16 août 2008, 22:30

Salut,
J'ai simplement enlever l'espace que tu avais laisser :wink:
if($infosjeu['url_commentaire']!=' ') 
est devenu
if($infosjeu['url_commentaire']!='') 
Tu lui demandait une condition différente d'une espace vide :idea: ce qui ne veut pas dire la même chose que pas de donnée

par le_debutant » 16 août 2008, 20:29

Salut

Exxaye comme ceci peut-être :?:
<?php



    if($infosjeu['url_commentaire']!="")
                    {
                    echo
                    '<a href="'.$infosjeu['url_commentaire'].'">Laisser un commentaire01</a>'
                    ;}

    else
                    {
                    echo '<a href="http://truc.heberg-forum.net/post_newtopic_62.html">Laisser un commentaire02</a>'
                    ;}
    ?>
Chez moi cela fonctionne

merci infiniment!
c'était si simple mais pourriez vous m'expliquer pourquoi une si infime différence rend le code valide?!
parce que j'ai déjà fais des conditions et c'est la 1ere fois que je vois ça!
il y à des "interférences" avec des affichages similaires?

merci à tout les autres aussi en tout cas :D

Re: condition très simple mais qui ne fonctionne pas

par AB » 16 août 2008, 19:27

...
Je fais ensuite le code suivant:
<?php

	if($infosjeu['url_commentaire']!=' ')
					{
					echo
					'<a href="'.$infosjeu['url_commentaire'].'">Laisser un commentaire</a>'
					;}
						
	else
					{
					echo '<a href="http://truc.heberg-forum.net/post_newtopic_62.html">Laisser un commentaire</a>'
					;}
	?>	

comme vous le voyez, si une url est inscrite j'affiche un lien vers le sujet déjà crée, sinon ce lien mène vers la page de création de sujet du forum.

mais la partie contenue dans le else n'est jamais activée :shock:

merci d'avance pour vos solutions.
Ben si tu n'arrive jamais dans le else c'est sans doute que la première condition if($infosjeu['url_commentaire']!=' ') est toujours vérifiée :wink: sûrement de ce côté là qu'il faut chercher.
A part ça aucun message d'erreur généré par php ?

par dunbar » 16 août 2008, 17:57

Moi je fais plus simple :
<?php 
if ($infosjeu['url_commentaire'] != "")
echo "<a href="'.$infosjeu['url_commentaire'].'">Laisser un commentaire01</a>"
else
 echo "<a href="http://truc.heberg-forum.net/post_newtopic_62.html">Laisser un commentaire02</a>"    ?>
A part les erreurs que tu rajoute, dit nous ou est ta simplicité stp :twisted:

par Dom! » 16 août 2008, 16:13

Moi je fais plus simple :
<?php 
if ($infosjeu['url_commentaire'] !="")
echo "<a href="'.$infosjeu['url_commentaire'].'">Laisser un commentaire01</a>"
else
 echo "<a href="http://truc.heberg-forum.net/post_newtopic_62.html">Laisser un commentaire02</a>"    ?>

par dunbar » 16 août 2008, 13:36

Salut

Exxaye comme ceci peut-être :?:
<?php



    if($infosjeu['url_commentaire']!="")
                    {
                    echo
                    '<a href="'.$infosjeu['url_commentaire'].'">Laisser un commentaire01</a>'
                    ;}

    else
                    {
                    echo '<a href="http://truc.heberg-forum.net/post_newtopic_62.html">Laisser un commentaire02</a>'
                    ;}
    ?>
Chez moi cela fonctionne