Erreur de syntax...

Erreur de syntax... - PHP - Programmation

Marsh Posté le 09-10-2005 à 09:48:01    

Salut à tous  !!!
 
Je suis entrain d'importer les session de phpBB2 à travers mon site
 
et dans le sous header j'ai ça :
 

Code :
  1. </a>Bienvenue sur Warcraftnet
  2.     <?
  3. if( $userdata['session_logged_in'] )
  4.    {
  5.     echo $userdata['username'];
  6.    }
  7. else
  8.        {
  9.                echo(', vous êtes actuellement un inconnu <a href="login.php">Connectez-vous</a></div>
  10. ');
  11.        }?>


 
Comment je pourrai faire pour que si le membre est connect ça affiche
Bienvenue Machintrucbidul --->(ici quelques liens en rapport avec la section membre)
 
et si il est pas connect que ça affiche bien  
vous êtes actuellement un inconnu <a href="login.php">Connectez-vous sans les liens à coté ???
 
Merci d'avance :)

Reply

Marsh Posté le 09-10-2005 à 09:48:01   

Reply

Marsh Posté le 09-10-2005 à 10:13:50    

Pas compris grand chose...
 
Où ça une erreur de syntaxe ? Quel est le problème ?

Reply

Marsh Posté le 09-10-2005 à 10:35:00    

non en fait l'erreur de syntax c'est quand je met  

Code :
  1. <? 
  2.     if( $userdata['session_logged_in'] ) 
  3.    { 
  4.     echo ('Bienvenue sur Warcraftnet 
  5. $userdata['username']');
  6.    } 
  7. else 
  8.        { 
  9.                echo(', vous êtes actuellement un inconnu <a href="login.php">Connectez-vous</a></div>
  10. '); 
  11.        }?>


 
c'est la seul solution pour afficher ce que jeu veux et seuelemernt ce que je veux !!!
MAis il dit que c'est faut....

Reply

Marsh Posté le 09-10-2005 à 11:02:53    

http://fr3.php.net/echo
http://fr3.php.net/string


Message édité par sielfried le 09-10-2005 à 11:03:14
Reply

Marsh Posté le 09-10-2005 à 11:27:03    

Pour éviter le jeu de piste de notre ami sielfried, tu peux voir directement que le problème vient des apostrophes (guillemets simples) de ta ligne echo. Il existe plusieurs solutions à ce problème, par exemple

echo ("Bienvenue sur Warcraftnet $userdata['username']" );
ou
echo ('Bienvenue sur Warcraftnet'.$userdata['username']);

 :)

Reply

Marsh Posté le 09-10-2005 à 12:17:43    

Donner directement la solution à des questions aussi basiques revient à inviter la personne à en poser d'autres plus tard. :spamafote:
 
Maintenant que c'est fait, autant préciser que

Code :
  1. echo 'Bienvenue sur Warcraftnet ', $userdata['username'];

est plus optimal.

Reply

Marsh Posté le 09-10-2005 à 17:33:18    

oui pendant qu'on y est  avec les echo  
 
n'importe comment on peut pas mettre plusieur echo dans un if ...
 
Je me trompe ?

Reply

Marsh Posté le 09-10-2005 à 17:59:52    

[:autobot]

Reply

Marsh Posté le 09-10-2005 à 18:09:41    

Citation :

on peut pas mettre plusieurs echo() dans un if

Si, il est possible d'avoir plusieurs lignes echo() dans un bloc qui suit un "if" ou qui est ailleurs, par exemple :

if ($i == 2) {
  echo("debut" );
  echo("milieu" );
  echo("fin" );
}

Un bloc est délimité par des parenthèses.
Après une condition (un "if" ), il est possible d'avoir un bloc, ou bien une seule instruction (par exemple un seul echo()), qui dans ce cas n'a pas besoin d'être encadrée par des parenthèses, par exemple :

if ($i == 3)
   echo("une info" );
else
  ...

 :)


Message édité par olivthill le 09-10-2005 à 18:16:00
Reply

Marsh Posté le 10-10-2005 à 09:38:03    

GANONEINC a écrit :

oui pendant qu'on y est  avec les echo  
 
n'importe comment on peut pas mettre plusieur echo dans un if ...
 
Je me trompe ?

Quand je lis une question pareille, je me dis que celui qui la pose ferait bien de mieux étudier les bases du langage. :(
D'ailleur, dans le cas présent, si t'avais fait des tests, t'aurais vu de toi même que c'est possible.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed