authentification

Eléphant du PHP | 419 Messages

15 juin 2005, 10:53

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

Mammouth du PHP | 19672 Messages

15 juin 2005, 10:55

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
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

15 juin 2005, 10:55

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 juin 2005, 10:56

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 419 Messages

15 juin 2005, 10:56

d'accord mais je fais comment pour lui dire de prendre les valeurs des zones de texte

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 juin 2005, 10:56

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:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 juin 2005, 10:59

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
Modifié en dernier par zeus le 15 juin 2005, 11:07, modifié 2 fois.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 214 Messages

15 juin 2005, 11:00

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 juin 2005, 11:05

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 419 Messages

15 juin 2005, 11:06

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 juin 2005, 11:07

C'est normal, j'ai fait une erreur de syntaxe.

Reprend mon code, je viens de l'éditer, il devrait fonctionner normalement
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 419 Messages

15 juin 2005, 11:09

j'avais fait avec ton code d'origine et celui que t'as modifie ca donne pareil

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 juin 2005, 11:13

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é";
}
?>
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 214 Messages

15 juin 2005, 11:20

En fait Sausee tu as juste un login et un mp valide pour aller sur cette page ?

Eléphant du PHP | 419 Messages

15 juin 2005, 11:27

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