2011-05-31 3 views
1

Si tentative échoue, je veux écrire quelque chose connexion utilisateur sous la forme de connexion comme je le fais dans Asp.NET (lblResult.Text = "Login Failed")test si Échec de la connexion en PHP

Voici le login par exemple:

<body> 
     <form method="post"> 
      Username: <input type="text" name="username"/><br /> 
      Password: <input type="password" name="password"/><br/> 
      <input type="submit" id="Submit" value="Submit"/> 
     </form> 
    </body> 

Et si la connexion échoue, juste sous le formulaire, le type de message «Échec de la connexion» devrait être affiché, mais je ne connais pas d'autre moyen que d'ajouter le code de formulaire entier avec écho ou quelque chose.

Merci.

+1

Le titre de la question ne décrit pas ce que vous essayez de faire. Qu'est-ce que c'est"? Regle-le, s'il te plait. –

+1

Vous ne savez pas si c'est ce que vous demandez, mais vous pouvez mélanger PHP avec votre code HTML. '

Du texte encore plus de texte.

' – Brad

+0

Vous pourriez utiliser AJAX, ce qui ressemblerait plus à ASP. – Shoe

Répondre

6

Ajouter quelque chose comme ça où vous voulez que le message:

<?php if ($loginFailed): ?> 
    <div class="errorMessage">Login Failed</div> 
<?php endif; ?> 

Remarque, j'utilise le alternative control structure syntax , qui est légèrement plus agréable que les accolades lors de l'écriture des spaghettis.

+0

Juste curieux; Qu'est-ce que 'écrire spaghetti'? La première fois que j'ai entendu ça. – cabaret

+0

http://en.wikipedia.org/wiki/Spaghetti_code – soulmerge

+0

Cool, merci monsieur. – cabaret

3

L'envoyez-vous dans un autre fichier? Vous pouvez simplement attribuer une réponse et l'écho après la forme:

//do logic php logic here, if correct redirect if not assign $response here

<body> 
    <form method="post"> 
     Username: <input type="text" name="username"/><br /> 
     Password: <input type="password" name="password"/><br/> 
     <input type="submit" id="Submit" value="Submit"/> 
    </form> 
    <?php echo $response; ?> 
</body> 
+0

Merci beaucoup pour votre temps. – Tarik

1

Ne pouvez-vous pas simplement mettre le "login failed" dans une variable lorsque le formulaire ne parvient pas à soumettre, puis faire ce qui suit dans votre code?

<body> 
    <form method="post"> 
     Username: <input type="text" name="username"/><br /> 
     Password: <input type="password" name="password"/><br/> 
     <input type="submit" id="Submit" value="Submit"/> 
    </form> 
    <? if(isset($failed) { echo "<div>" . $failed . "</div>"; } ?> 
</body> 
+0

Merci beaucoup pour votre temps. – Tarik

2

Si vous ne l'utilisez ajax et affichant simplement à la même page, vous pouvez faire quelque chose comme:

<form>...</form> 
<?php 
    if (isset($_POST['username']) && !isset($_SESSION['username']) 
    { 
    // non-successful login 
    } 
?> 

Je suppose que vous configurez votre connexion réussie dans une variable de session.