Problème avec un script PHP

d7z4g -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour, j'ai un problème avec ce code, il analyse pas les champs... pourquoi ?

1.html
<form method="post" action="./2.php">
<p>Nom d'utilisateur :<br /><input type="text" name="user" /></p>
<p>Mot de passe :<br /><input type="text" name="pass" /></p>
<p><input type="submit" value="S'identifier" /></p>
</form>

2.php
<?php
$user = htmlspecialchars(stripslashes($_POST['user']));
$pass = htmlspecialchars(stripslashes($_POST['pass']));
if($user == 'MOI' && $pass == 'MDP')
echo '<p>Identifiant et/ou mot de passe incorrect.</p>';
else {
echo '<p>Vous êtes maintenant identifié.</p>';
else
echo '<p>Erreur lors de la connexion.</p>';
}
?>


Merci d'avance.

3 réponses

  1. aneantisseur Messages postés 377 Date d'inscription   Statut Membre Dernière intervention   18
     
    t'oublies plein d'accolades
    <?php
    $user = htmlspecialchars(stripslashes($_POST['user']));
    $pass = htmlspecialchars(stripslashes($_POST['pass']));
    if($user == 'MOI' && $pass == 'MDP') {
    echo '<p>Identifiant et/ou mot de passe incorrect.</p>';
    }
    else {
    echo '<p>Vous êtes maintenant identifié.</p>';
    }
    else {
    echo '<p>Erreur lors de la connexion.</p>';
    }
    ?>
    0
  2. d7z4g
     
    <?php
    $user = htmlspecialchars(stripslashes($_POST['user']));
    $pass = htmlspecialchars(stripslashes($_POST['pass']));
    if(!$user == 'MOI' && !$pass == 'MDP')
    echo '<p>Identifiant et/ou mot de passe incorrect.</p>';
    else {
    if($user == 'MOI' && $pass == 'MDP') {
    echo '<p>Vous êtes maintenant identifié.</p>';
    }
    else
    echo '<p>Erreur lors de la connexion.</p>';
    }
    ?>


    Mais if(!$user == 'MOI' && !$pass == 'MDP')
    echo '<p>Identifiant et/ou mot de passe incorrect.</p>'; ne marche pas, pourtant j'ai mi les ! devant les 2 variable.
    0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    Mais if(!$user == 'MOI' && !$pass == 'MDP')
    echo '<p>Identifiant et/ou mot de passe incorrect.</p>'; ne marche pas, pourtant j'ai mi les ! devant les 2 variable.


    non égal ce n'est pas comme ça:

    Mais if($user != 'MOI' && $pass != 'MDP'){
    echo '<p>Identifiant et/ou mot de passe incorrect.</p>'; 
    }else{
    
    
    
    }


    et sois plus homogène dans tes accolades, il vaut mieux les mettre tout le temps

    if(...){

    }else{

    }

    et tu verras que ton troisième else à quoi il sert ?
    0