Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/01/2008, 00h24   #1
Membre régulier
 
Avatar de HWICE
 
Homme
Développeur informatique
Inscription : décembre 2006
Messages : 246
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 246
Points : 70
Points : 70
Par défaut Operateur logique dans un If

Bonjour.

Est-il possible de faire cela
par exemple
$rich['datereal']= 2008-01-20

Code :
<? if ($rich['datereal'] <= date('Y-m-d')){ echo "<img src=\"/images/improuge.jpg\"/>"; } else  { echo"<img src=\"/images/impvert.jpg\"/>";}?>
Php me mets l'erreur suivante:
Code :
Parse error:  syntax error, unexpected '{' in /home/samba/site/leaualabouche/public/admin/special.php on line 265
je ne pense pas que l'ont puissent faire une tel operation dans un if

merci de votre aide
__________________
Powered By Ubuntu/Linux GNU 9.10, Ubuntu/Linux GNU 10.10
HWICE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 01h26   #2
Membre expérimenté
 
Inscription : août 2005
Messages : 515
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 515
Points : 557
Points : 557
Bonsoir,
en tout cas ceci fonctionne parfaitement :

Code exemple.php :
1
2
3
4
5
6
7
8
<?php
 
  $date = '2008-01-20';
 
  if ($date <= date('Y-m-d')) echo '<img src="/images/improuge.jpg"/>';
  else echo '<img src="/images/impvert.jpg"/>';
 
?>

Cordialement,
DaRiaN.
DaRiaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 01h29   #3
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Salut,
A priori, cela devrait être pourtant possible. Peut être est-ce un espace manquant entre ton deuxième echo et les premiers guillemets ?

Personnellement, je n'aime pas mélanger les traitements php et html. Aussi je fais tous mes tests, boucles, etc... avant de sortir le code html. C'est plus simple à débugger.

Exemple :
Avant de générer le HTML
Code :
1
2
3
4
5
 
if ($rich['datereal'] <= date('Y-m-d'))
    $img = '<img src="/images/improuge.jpg"/>';
else
    $img = '<img src="/images/impvert.jpg"/>';
et ensuite dans l'impression de la page :
Code :
1
2
3
4
 
<body>
<?php echo $img;?>
</body>
plus lisible et plus modulaire à mon goût.

Deuxième conseil : préférer les balises <?php ... ?> au simple <? ... ?> qui pourrait être différemment supporté à l'avenir. Tout comme il faut privilégier <?php echo $var;?> au plus court mais bientôt abandonné <?= $var;?>
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 11h31   #4
Membre éclairé
 
Inscription : décembre 2007
Messages : 426
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 426
Points : 313
Points : 313
Ya pas de raison que ca fonctionne pas, d'après le message c'est un problème d'accolade et la ligne à l'air bonne.

Tu es sur que l'erreur est sur cette ligne ? Si oui faudrais voir un bout de code plus grand, ca doit venir d'une accolade manquante ou en trop en amont ou en aval de cette ligne.
__________________
Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème
Eric93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 13h27   #5
Membre expérimenté
 
Inscription : août 2005
Messages : 515
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 515
Points : 557
Points : 557
Hier, je me suis demandé s'il n'avait pas écrit :

Code :
1
2
3
4
5
6
7
//$rich['datereal']= '2008-01-20'; // bonne écriture
$rich['datereal']= 2008-01-20
 
if ($rich['datereal'] <= date('Y-m-d'))
    $img = '<img src="/images/improuge.jpg"/>';
else
    $img = '<img src="/images/impvert.jpg"/>';
DaRiaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 14h21   #6
Membre régulier
 
Avatar de HWICE
 
Homme
Développeur informatique
Inscription : décembre 2006
Messages : 246
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 246
Points : 70
Points : 70
oh merci... bizzarment tout fonctionne... je ne comprend pas.

Question comme ca.... pouquoi <?php ?> aulieu de <? ?>, les 2 fonctionne très bien

merci de votre soutien
__________________
Powered By Ubuntu/Linux GNU 9.10, Ubuntu/Linux GNU 10.10
HWICE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 14h40   #7
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Il n'est pas impossible qu'à l'avenir la séquenece <? ?> puisse être applicable à plusieurs langages, genre mixer php et psp (python server page) par exemple.
Idem pour <?= ?> qui fonctionne, mais que php prévoit de laisser tomber.

Mieux vaut être précis, c'est pas trois lettres en plus qui vont polluer le code...
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 14h50   #8
Membre régulier
 
Avatar de HWICE
 
Homme
Développeur informatique
Inscription : décembre 2006
Messages : 246
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 246
Points : 70
Points : 70
C,est vrai merci pour tes explication
__________________
Powered By Ubuntu/Linux GNU 9.10, Ubuntu/Linux GNU 10.10
HWICE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 15h16   #9
Membre habitué
 
Inscription : juin 2006
Messages : 133
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 133
Points : 125
Points : 125
Bonjour.

Et en plus, l'exécution de <?php est plus rapide que <? . Donc, autant dire qu'il n'y a que des avantages à écrire <?php
Andalor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 16h51   #10
Membre régulier
 
Avatar de HWICE
 
Homme
Développeur informatique
Inscription : décembre 2006
Messages : 246
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 246
Points : 70
Points : 70
Et faut-il le marquer a toute les fois.... oui

désolé question nouille
__________________
Powered By Ubuntu/Linux GNU 9.10, Ubuntu/Linux GNU 10.10
HWICE est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h22.


 
 
 
 
Partenaires

Hébergement Web