2017-08-06 11 views
-1

Existe-t-il un moyen d'ajouter un bouton pour une instruction if/else? Ceci est mon codeComment ajouter un bouton après if (isset)?

<?php if(isset($_SESSION["steamname"])) 
     //If steamname not equals 0 
      { 
        <a class="button-logout" href="steamauth/logout.php">Log Out</a> 

       } 
      else 
       { 
        <a class="button-login" href="steamauth/login_steam.php">Log In</a> 

       } 
     ?> 

Mais mon serveur n'arrête pas de dire que c'est invalide. Ma compréhension de php n'est pas très bonne mais ce que j'essaie de faire est de faire en sorte que si un utilisateur est connecté, un bouton de déconnexion apparaîtra et sinon il sera connecté. Ma méthode actuelle ne fonctionne pas, est-ce possible? Merci.

P.S. J'ai essayé de faire écho, pas de chance non plus. P.S.S Je ne pense pas que cela ait quelque chose à voir avec ma commande isset. J'ai fait un simple écho et tout s'est bien passé.

+0

Vous devez faire écho le bouton. Pourquoi cela n'a-t-il pas fonctionné pour vous? – rickdenhaan

+0

Je ne sais pas, quand je fais ça, ça dit juste "inattendu" <"" et ainsi de suite jusqu'à ce que toute ma ligne de commande disparaisse. Ce pourrait être mon formatage. Avez-vous un code que je pourrais essayer? – Garlicvideos

+2

Copie possible de [PHP Parse/Syntax Errors; et Comment les résoudre?] (https://stackoverflow.com/questions/18050071/php-parse-syntax-errors-and-how-to-solve-them) –

Répondre

3

Vous devez faire écho au HTML que vous voulez:

<?php if(isset($_SESSION["steamname"])) 
    //If steamname not equals 0 
     { 
       echo '<a class="button-logout" href="steamauth/logout.php">Log Out</a>'; 

      } 
     else 
      { 
       echo '<a class="button-login" href="steamauth/login_steam.php">Log In</a>'; 

      } 
    ?> 

Sans l'écho, PHP va essayer d'analyser votre HTML comme PHP, qui ne fonctionnera pas.

+0

Cela ne fera-t-il pas écho à l'ensemble? – Garlicvideos

+0

Il fera écho ce qui est entre les guillemets. Donc si par "tout" vous voulez dire le lien complet "Déconnexion" dans le cas de "si", et le lien complet "Connexion" dans le cas de "else", alors oui. Mais c'est exactement ce que tu veux. – rickdenhaan

0

changez votre code pour. Vous devez mettre les balises HTML sur PHP côté

<?php if(isset($_SESSION["steamname"]))   
     { ?> 
       <a class="button-logout" href="steamauth/logout.php">Log Out</a> 
<?php } 
     else 
     { ?> 
       <a class="button-login" href="steamauth/login_steam.php">Log In</a> 

<?php } ?> 

OU

Vous pouvez faire écho des balises html

<?php if(isset($_SESSION["steamname"])) 
     { 
      echo '<a class="button-logout" href="steamauth/logout.php">Log Out</a>'; 
     } 
     else 
     { 
      echo '<a class="button-login" href="steamauth/login_steam.php">Log In</a>'; 

     } 
    ?> 
0

Si vous ne voulez pas faire l'écho html comme une chaîne, vous pouvez le faire comme ceci avec la syntaxe alternative:

<?php if(isset($_SESSION['steamname'])): ?> 
    <a class="button-logout" href="steamauth/logout.php">Log Out</a> 
<?php else: ?> 
    <a class="button-login" href="steamauth/login_steam.php">Log In</a> 
<?php endif; ?>