Code : faire mot de passe ?

Résolu
infograffik -  
 infograffik -
Bonjour,

Je commence en programmation et j'ai besoin de conseil pour mon code. Je dois demander à l'usager d'entrer son nom d'usager et mot de passe et puis les valider. Voici mon code.

<html>
<head>
<title>exercicePratique1</title>
</head>
<body>

<?php
function authentification($usager, $mdp)
{
if ($usager=="david" && $mdp=="abc123")
echo "Bienvenue david";
else
echo "Nom d'usager ou mot de passe invalide!";
}
if(isset($_POST['nomUsager']) && ($_POST['motDePasse'])'
echo "Bienvenue David" .authentification($_POST['nomUsager'] && ['motDePasse"]);
else
echo "Veuillez vous identifier
<form method=POST action='exercicePratique1.3.php'>
Veuillez entrez votre nom d'usager : <input type=text name=nomUsager> <br>
Veuillez entrez votre mot de passe : <input type=text name=motDePasse> <br>
<input type=submit value=ok>
</form>";

$usager="nomUsager";
$mdp="motDePasse";
?>
</body>
</html>

Je recois comme message d'erreur :

Warning: Missing argument 2 for authentification() in c:\program files\easyphp1-8\www\exercicepratique1.3.php on line 9
Nom d'usager ou mot de passe invalide!1

Merci!
Configuration: Windows Vista Internet Explorer 7.0

8 réponses

  1. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Il me emble que ce serait plutôt :

    authentification($_POST['nomUsager'] , ['motDePasse"]);

    A remplacer dans la ligne :

    echo "Bienvenue David" .authentification($_POST['nomUsager'] && ['motDePasse"]);
    0
  2. fred_bgt Messages postés 159 Statut Membre 22
     
    La raison est simple. Heureusement le serveur Apache te donne des idnications pour débugger ton problème !
    "Missing arguments" : et oui, ton deuxième argument n'est pas bon.

    authentification($_POST['nomUsager'] && ['motDePasse"]);
    (Attention au " et ' 'motDePasse' ... pas 'motDePasse" !)

    La synthaxe de ta fonction authentification est :
    function authentification($usager, $mdp)

    donc c'est plutôt

    authentification($_POST['nomUsager'] , $_POST['motDePasse']);

    Un conseil si tu commences à coder :

    Soit rigoureux ! très rigoureux. (ex : " et ' )
    Présentes bien ton code, ne l'alignes pas à la verticale, il est illisible. Chaque caractère a son importance, c'est comme dans une langue. Les fautes d'orthographes ne sont pas admises ...

    Bon Courage
    0
    1. infograffik
       
      J'ai fait les modifications tel qu'indiqué et j'ai maintenant un message d'erreur sur cette ligne (ligne 16).

      Parse error: parse error in c:\program files\easyphp1-8\www\exercicepratique1.4.php on line 16

      Voici mon code modifié,

      <html>
      <head>
      <title>exercicePratique1</title>
      </head>
      <body>

      <?php
      function authentification($usager, $mdp)
      {
      if ($usager=="david" && $mdp=="abc123")
      echo "Bienvenue david";
      else
      echo "Nom d'usager ou mot de passe invalide!";
      }
      if(isset($_POST['nomUsager'], $_POST['motDePasse'])
      echo "Bienvenue David" .authentification($_POST['nomUsager'], $_POST['motDePasse']);
      else
      echo "Veuillez vous identifier
      <form method=POST action='exercicePratique1.4.php'>
      Veuillez entrez votre nom d'usager : <input type=text name=nomUsager> <br>
      Veuillez entrez votre mot de passe : <input type=text name=motDePasse> <br>
      <input type=submit value=ok>
      </form>";

      $usager="nomUsager";
      $mdp="motDePasse";
      ?>

      </body>
      </html>

      Merci encore!
      0
  3. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Arf m'était trompé ^^
    0
  4. fred_bgt Messages postés 159 Statut Membre 22
     
    merci de me donner le contenu de la ligne 16 !...
    0
    1. infograffik
       
      ligne 16...
      echo "Bienvenue David" .authentification($_POST['nomUsager'], $_POST['motDePasse']);
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. zoby44 Messages postés 868 Statut Membre 199
     
    Salut, en fait, ce n'est pas à la ligne 16, mais à la ligne 15. Pour un parse error, il faut généralement regarder à la ligne du dessus.

    Donc dans ton cas,
    if(isset($_POST['nomUsager'], $_POST['motDePasse'])

    est à remplacer par
    if(isset($_POST['nomUsager'], $_POST['motDePasse']))


    Fait bien gaffe à fermer toutes les parenthèses, crochets et accolades.
    0
    1. infograffik
       
      Merci Zoby! Ca fonctionne maintenant (enfin presque). Quand je valide, que la reponse soit bonne ou pas, je vois apparaitre Bonjour David.

      Ex:

      Nom usager ou mot de passe invalide retourne
      Nom d'usager ou mot de passe invalide!Bienvenue David

      Nom usager et mot de passe valide retourne
      Bienvenue David Bienvenue David


      Qu'est ce qui cause ça?

      Merci de votre aide...j'apprends plus avec vous autres qu'avec mon cours...
      0
  7. zoby44 Messages postés 868 Statut Membre 199
     
    Réfléchit un peu. Regarde à la ligne 16 et ce que tu demande à la fonction de renvoyer.
    0
  8. fred_bgt Messages postés 159 Statut Membre 22
     
    infograffik :

    avant de poser tes questions, réfléchis et passe au moins 1h devant ton code ...

    ca nous évitera de jouer les apprentis prof ...

    ;-)
    0
  9. infograffik
     
    Merci Fred_BGT et Zoby44 pour votre aide, j'ai finalement trouvé mon erreur.
    0