Page 1 sur 4

authentification

Posté : 15 juin 2005, 10:53
par sausee2005
bonjour j'essaie de mettre une authentification pour acceder a ma page administration et j'y arrive pas

voila ma page d'authentification
<form name="login" method="post">
  <div align="center">
    <input name="user_name" type="text">
    <input name="password" type="text">
    <br>
    <input type="submit" name="Submit" value="Connecter" >
    <br>
  </div>
</form>
<?
$log=document.login.user_name.value;
$pass=document.login.password.value;
if($log == "artcaddba" && $pass == "Zyd8c6")
 {
 	?><a href='index.php?page=administration'></A><?
 }
 else
 {
 	echo('erreur de login ou de mot de passe');
    ?><a href='index.php?page=news'></a><?
 }
?>

et sur l'explorateur il me retourne le formulaire mais egalement ceci
Notice: Use of undefined constant document - assumed 'document' in c:\program files\easyphp1-8\www\identification.php on line 20

Notice: Use of undefined constant login - assumed 'login' in c:\program files\easyphp1-8\www\identification.php on line 20

Notice: Use of undefined constant user_name - assumed 'user_name' in c:\program files\easyphp1-8\www\identification.php on line 20

Notice: Use of undefined constant value - assumed 'value' in c:\program files\easyphp1-8\www\identification.php on line 20

Notice: Use of undefined constant document - assumed 'document' in c:\program files\easyphp1-8\www\identification.php on line 21

Notice: Use of undefined constant login - assumed 'login' in c:\program files\easyphp1-8\www\identification.php on line 21

Notice: Use of undefined constant password - assumed 'password' in c:\program files\easyphp1-8\www\identification.php on line 21

Notice: Use of undefined constant value - assumed 'value' in c:\program files\easyphp1-8\www\identification.php on line 21
erreur de login ou de mot de passe

Posté : 15 juin 2005, 10:55
par Cyrano
Beau mélange de langages:
$log=document.login.user_name.value;
Ceci:
$log=
c'est du PHP
Ceci:
document.login.user_name.value;
C'est du JavaScript

Posté : 15 juin 2005, 10:55
par ouckileou
tu mélanges javascript et PHP
$log=document.login.user_name.value;
$pass=document.login.password.value; 
tu mets dans une variable PHP une méthode d'accès Javascript

Posté : 15 juin 2005, 10:56
par zeus
Tu mélange encore et toujours le PHP et le JavaScript sausee2005, c'est pas la 1ere fois que ça t'arrive

Code : Tout sélectionner

document.login.user_name.value; document.login.password.value;
c'est du Javascript. c'est normal que PHP ne les connaissent pas

Posté : 15 juin 2005, 10:56
par sausee2005
d'accord mais je fais comment pour lui dire de prendre les valeurs des zones de texte

Posté : 15 juin 2005, 10:56
par zeus
Alors là, si tu ne comprend pas le problème, c'est que tu fait exprès ...

3 messages disant la même chose en 2mn :shock:

Posté : 15 juin 2005, 10:59
par zeus
Déjà, commence par tester si le formulaire a été validé et ensuite tu récupère des variables POST
<form name="login" method="post">
  <div align="center">
    <input name="user_name" type="text">
    <input name="password" type="text">
    <br>
    <input type="submit" name="Submit" value="Connecter" >
    <br>
  </div>
</form>
<?
//Si le formulaire a été validé
if (isset($_POST["Submit"])) {

  $log= (isset($_POST["user_name"])) ? $_POST["user_name"] : "" ;
  $pass= (isset($_POST["password"])) ? $_POST["password"] : "";
  if($log == "artcaddba" && $pass == "Zyd8c6")
  {
    ?><a href='index.php?page=administration'></A><?
  } else {
    echo('erreur de login ou de mot de passe');
    ?><a href='index.php?page=news'></a><?
 }
}
?>  
-- EDIT --

ATTENTION, j'ai modifié le code

Posté : 15 juin 2005, 11:00
par MissAube
Voici un code que m'a donné Zeus pour récupérer la valeur d'un champ de formulaire si celui-ci a été renseigné :
$login = (isset($_POST["user_name"])) ? $_POST["user_name"] : "";
Je crois qu'il devrait marcher dans ton cas aussi.

Edit : J'ai été devancé lol

Posté : 15 juin 2005, 11:05
par zeus
La petite différence entre vous deux est que toi, MissAube, tu as compris qu'il fallait s'assurer que le formulaire est validé alors que sausee2005 ne l'as apparament pas encore assimilé.

Mais c'est vrai que tu as raison et que je vais modifier mon post précédent

Posté : 15 juin 2005, 11:06
par sausee2005
je pense qui est valide parce qu'il apparait sur la page ou alors je sais pas comment savoir s'il est valide

maintenant j'ai plus de message d'erreur quand je tape le mot de passe et le login et que j'appuie sur connecter il m'efface tout et va pas sur les liens qu'ils soient bon ou pas

Posté : 15 juin 2005, 11:07
par zeus
C'est normal, j'ai fait une erreur de syntaxe.

Reprend mon code, je viens de l'éditer, il devrait fonctionner normalement

Posté : 15 juin 2005, 11:09
par sausee2005
j'avais fait avec ton code d'origine et celui que t'as modifie ca donne pareil

Posté : 15 juin 2005, 11:13
par zeus
Et avec ce code, avant et après validation, il te dit quoi ?
<form name="login" method="post">
  <div align="center">
    <input name="user_name" type="text">
    <input name="password" type="text">
    <br>
    <input type="submit" name="Submit" value="Connecter" >
    <br>
  </div>
</form>
<?
//Si le formulaire a été validé
if (isset($_POST["Submit"])) {

  $log= (isset($_POST["user_name"])) ? $_POST["user_name"] : "" ;
  $pass= (isset($_POST["password"])) ? $_POST["password"] : "";
  if($log == "artcaddba" && $pass == "Zyd8c6")
  {
    ?><a href='index.php?page=administration'></A><?
  } else {
    echo('erreur de login ou de mot de passe');
    ?><a href='index.php?page=news'></a><?
  }
} else {
  echo "Le formulaire n'est pas validé";
}
?>

Posté : 15 juin 2005, 11:20
par MissAube
En fait Sausee tu as juste un login et un mp valide pour aller sur cette page ?

Posté : 15 juin 2005, 11:27
par sausee2005
si je me trompe de mot de passe il me met erreur de login ou de mot de passe
si je met le bon il se passe rien

En fait Sausee tu as juste un login et un mp valide pour aller sur cette page ?
euh oui mi missaube pourquoi il me faudrait quoi en plus