Aide php formulaire authentification mercciii
Résolu
mehdi9833
Messages postés
88
Date d'inscription
Statut
Membre
Dernière intervention
-
emna.hidr Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
emna.hidr Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Tout d'abord merci de porter attention à mon message.
voila je dois créer un site en intranet,av une bdd mysql qui tourne dérriere.
J'ai ma premiére page qui s'apel pageauthen.html qui me sert à m'authentifier,j'aimerais quand je clique sur valider afficher 3 pages différentes selon l'authentification.si c 'est par exemple utlisateur ARM63 afficher la page profilarm, si c'est l'utilisateur RTM afficher la page profilrtm, si c'est l'utilisateur ATM afficher la page profilatm...j'ai déja créer mes 3 pages html suivant l'authentification,créer aussi le formulaire php que j'ai nommée authentif.php et 2 tables sur ma bdd sql.mes noms de champs sur la base sql de la table utilisateur sont tout simplement utilisateur et mdp...j'ai aussi créer mes 3 enregistrements dans la table pour les 3 profils atm,rtm et arm...
ex :
utilisateur : ARM 63
mdp : stage
quand j'essaye de m'authentifier cela ne marche, qqun pourrait il m'aider pour me dire si mes formulaires ou fichier php contiennent des erreurs.merci d'avance
voici mon fichier authentif.php
<?php
session_start();
echo "<html>
<head>
<title>authentification</title>
<body>";
// connexion au serveur MYSQL
$utilisateur=$_POST['utilisateur'];
$mpass=$_POST['mdp'];
$_SESSION['utlisateur']=$_num;
mysql_connect("localhost","root","") or die("erreur de connexion au serveur".mysql_error());
// Ouverture de la base de données Terminale
mysql_select_db("testarm") or die ("erreur de connexion à la base testarm");
// Requete
$sql="select * from client where utilisateur=".$utilisateur.";";
$requete=mysql_query($sql) or die ("erreur dans la requête");
$res= mysql_num_rows($requete);
if ($res==0)
{
echo "Utilisateur non répertorié, veuillez réessayer </br>"; // a revoir
}
else
{
$resu=mysql_fetch_array($requete);
if ($mdp!=$resu['mdp'])
{
echo "Mot de passe incorect, veuillez réessayer </br>"; // a revoir
}
else
{
//Fermeture de la connexion à Mysql
mysql_close();
?>
et voici mon formulaire html ou je m'authentifie :
<html>
<head>
<title> formulaire d'identification </title>
</head>
<body BACKGROUND="fond.jpg"/>
<center><img src="dsem2.JPG"/></center>
<form method ="POST" action = "authentif.php"> <!--creer le fichier d'authentification...-->
<br>
<br>
<br>
<h1>Veuillez vous identifiez :</h1>
<br>
<b>
<center><h3> Utilisateur : </h3><input type="text" name="utilisateur" value="" maxlength="20" size="20"/>
<h3> Mot de passe : </h3><input type="password" name="mdp" value="" maxlength="20" size="20"/>
<br>
<br>
<br>
<a href="profilarm.html"><input type="submit" value="valider" name="valider" id="valider" style="height: 30px; width: 80px"></a>
</td>
<td>
</center>
Tout d'abord merci de porter attention à mon message.
voila je dois créer un site en intranet,av une bdd mysql qui tourne dérriere.
J'ai ma premiére page qui s'apel pageauthen.html qui me sert à m'authentifier,j'aimerais quand je clique sur valider afficher 3 pages différentes selon l'authentification.si c 'est par exemple utlisateur ARM63 afficher la page profilarm, si c'est l'utilisateur RTM afficher la page profilrtm, si c'est l'utilisateur ATM afficher la page profilatm...j'ai déja créer mes 3 pages html suivant l'authentification,créer aussi le formulaire php que j'ai nommée authentif.php et 2 tables sur ma bdd sql.mes noms de champs sur la base sql de la table utilisateur sont tout simplement utilisateur et mdp...j'ai aussi créer mes 3 enregistrements dans la table pour les 3 profils atm,rtm et arm...
ex :
utilisateur : ARM 63
mdp : stage
quand j'essaye de m'authentifier cela ne marche, qqun pourrait il m'aider pour me dire si mes formulaires ou fichier php contiennent des erreurs.merci d'avance
voici mon fichier authentif.php
<?php
session_start();
echo "<html>
<head>
<title>authentification</title>
<body>";
// connexion au serveur MYSQL
$utilisateur=$_POST['utilisateur'];
$mpass=$_POST['mdp'];
$_SESSION['utlisateur']=$_num;
mysql_connect("localhost","root","") or die("erreur de connexion au serveur".mysql_error());
// Ouverture de la base de données Terminale
mysql_select_db("testarm") or die ("erreur de connexion à la base testarm");
// Requete
$sql="select * from client where utilisateur=".$utilisateur.";";
$requete=mysql_query($sql) or die ("erreur dans la requête");
$res= mysql_num_rows($requete);
if ($res==0)
{
echo "Utilisateur non répertorié, veuillez réessayer </br>"; // a revoir
}
else
{
$resu=mysql_fetch_array($requete);
if ($mdp!=$resu['mdp'])
{
echo "Mot de passe incorect, veuillez réessayer </br>"; // a revoir
}
else
{
//Fermeture de la connexion à Mysql
mysql_close();
?>
et voici mon formulaire html ou je m'authentifie :
<html>
<head>
<title> formulaire d'identification </title>
</head>
<body BACKGROUND="fond.jpg"/>
<center><img src="dsem2.JPG"/></center>
<form method ="POST" action = "authentif.php"> <!--creer le fichier d'authentification...-->
<br>
<br>
<br>
<h1>Veuillez vous identifiez :</h1>
<br>
<b>
<center><h3> Utilisateur : </h3><input type="text" name="utilisateur" value="" maxlength="20" size="20"/>
<h3> Mot de passe : </h3><input type="password" name="mdp" value="" maxlength="20" size="20"/>
<br>
<br>
<br>
<a href="profilarm.html"><input type="submit" value="valider" name="valider" id="valider" style="height: 30px; width: 80px"></a>
</td>
<td>
</center>
A voir également:
- Aide php formulaire authentification mercciii
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Double authentification google - Guide
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
6 réponses
je me suis trompé juste pour la selection de la table,dans le fichier auhentif.php,j'ai mis client au lieu d'utilisateur...merciii
Bonjour,
Dans un premier temps, en ce qui concerne ton formulaire de connexion, je ne vois pas pourquoi tu fais un lien sur la page 'profiarm' sur ton bouton de submit du formulaire. Ca n'a rien à faire là.
Voici donc le code de ta page de connexion :
Ce qu'il faut surtout modifier, c'est ton script de vérification.
$num, qu'est ce que c'est que cette variable ? Elle n'apparait nul part. Inutile donc, surtout que tu ne semble pas utiliser plus que ça la variabel de session 'utilisateur' (peut-être pour d'autres page)
Il faut :
- vérifier si l'utilisateur est connu
- si oui, en fonction de son nom, faire une redirection sur la page correspondante
Le code sera donc celui-ci:
A toi de compléter les redirections en fonction du nom de tes pages.
Dans un premier temps, en ce qui concerne ton formulaire de connexion, je ne vois pas pourquoi tu fais un lien sur la page 'profiarm' sur ton bouton de submit du formulaire. Ca n'a rien à faire là.
Voici donc le code de ta page de connexion :
<html> <head> <title> formulaire d'identification </title> </head> <body BACKGROUND="fond.jpg"/> <center><img src="dsem2.JPG"/></center> <form method ="POST" action = "authentif.php"> <!--creer le fichier d'authentification...--> <br> <br> <br> <h1>Veuillez vous identifiez :</h1> <br> <b> <center><h3> Utilisateur : </h3><input type="text" name="utilisateur" value="" maxlength="20" size="20"/> <h3> Mot de passe : </h3><input type="password" name="mdp" value="" maxlength="20" size="20"/> <br> <br> <br> <input type="submit" value="valider" name="valider" id="valider" style="height: 30px; width: 80px"> </td> <td> </center>
Ce qu'il faut surtout modifier, c'est ton script de vérification.
$num, qu'est ce que c'est que cette variable ? Elle n'apparait nul part. Inutile donc, surtout que tu ne semble pas utiliser plus que ça la variabel de session 'utilisateur' (peut-être pour d'autres page)
Il faut :
- vérifier si l'utilisateur est connu
- si oui, en fonction de son nom, faire une redirection sur la page correspondante
Le code sera donc celui-ci:
<?php session_start(); echo "<html> <head> <title>authentification</title> <body>"; // connexion au serveur MYSQL $utilisateur=$_POST['utilisateur']; $mpass=$_POST['mdp']; mysql_connect("localhost","root","") or die("erreur de connexion au serveur".mysql_error()); // Ouverture de la base de données Terminale mysql_select_db("testarm") or die ("erreur de connexion à la base testarm"); // Requete $sql="select * from client where utilisateur='".$utilisateur."' AND mdp = '".$mpass."' "; $requete=mysql_query($sql) or die ("erreur dans la requête"); //Fermeture de la connexion à Mysql mysql_close(); $res= mysql_num_rows($requete); if ($res==0) { echo "Couple utilisateur / mot de passe inconnu, veuillez réessayer </br>"; // a revoir } else { // --- enregistrement en session de l'utilisateur $_SESSION["utilisateur"] = $utilisateur; // --- redirection en fonction de l'utilisateur if ( $utilisateur == "ARM63" ){ header("Location: profilarm.html"); exit(); }else if ($utilisateur == "..." ){ header("Location: ..."); } } ?>
A toi de compléter les redirections en fonction du nom de tes pages.
j'ai modifié ma page authentif.php : j'ai aussi changé mon nom de champ utilisateur par user...et dans ma bdd testarm aussi.
<?php
session_start();
echo "<html>
<head>
<title>authentification</title>
<body>";
// connexion au serveur MYSQL
$utilisateur=$_POST['user'];
$mpass=$_POST['mdp'];
mysql_connect("localhost","root","") or die("erreur de connexion au serveur".mysql_error());
// Ouverture de la base de données Terminale
mysql_select_db("testarm") or die ("erreur de connexion à la base testarm");
// Requete
$sql="select * from utilisateur where user='".$utilisateur."' AND mdp = '".$mpass."' ";
$requete=mysql_query($sql) or die ("erreur dans la requête");
//Fermeture de la connexion à Mysql
mysql_close();
$res= mysql_num_rows($requete);
if ($res==0)
{
echo "Couple utilisateur / mot de passe inconnu, veuillez réessayer </br>"; // a revoir
}
else
{
// --- enregistrement en session de l'utilisateur
$_SESSION["user"] = $utilisateur;
// --- redirection en fonction de l'utilisateur
if ( $utilisateur == "ARM 63" ){
header("Location: profilarm.html");
exit();
}else if ($utilisateur == "RTM 18" ){
header("Location: profilrtm.html");
exit();
}else if ($utilisateur == "ETI 18" ){
header("Location: profilatm.html");
exit();
}
}
?>
voici le message que sa m'affiche apprés authentification :
Objet non trouvé!
L'URL requise n'a pu etre trouvée sur ce serveur. La référence sur la page citée semble être erronée ou perimée. Nous vous prions d'informer l'auteur de cette page de cette erreur.
Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le gestionnaire du site.
Error 404
127.0.0.1
10/16/09 15:31:33
Apache/2.2.13 (Win32) PHP/5.3.0
Juste pr qe tu comprenne voici ma table utilisateur pour l'auhentification :
user mdp
ARM 63 stage
ARM 18 stage....
merciiiii
<?php
session_start();
echo "<html>
<head>
<title>authentification</title>
<body>";
// connexion au serveur MYSQL
$utilisateur=$_POST['user'];
$mpass=$_POST['mdp'];
mysql_connect("localhost","root","") or die("erreur de connexion au serveur".mysql_error());
// Ouverture de la base de données Terminale
mysql_select_db("testarm") or die ("erreur de connexion à la base testarm");
// Requete
$sql="select * from utilisateur where user='".$utilisateur."' AND mdp = '".$mpass."' ";
$requete=mysql_query($sql) or die ("erreur dans la requête");
//Fermeture de la connexion à Mysql
mysql_close();
$res= mysql_num_rows($requete);
if ($res==0)
{
echo "Couple utilisateur / mot de passe inconnu, veuillez réessayer </br>"; // a revoir
}
else
{
// --- enregistrement en session de l'utilisateur
$_SESSION["user"] = $utilisateur;
// --- redirection en fonction de l'utilisateur
if ( $utilisateur == "ARM 63" ){
header("Location: profilarm.html");
exit();
}else if ($utilisateur == "RTM 18" ){
header("Location: profilrtm.html");
exit();
}else if ($utilisateur == "ETI 18" ){
header("Location: profilatm.html");
exit();
}
}
?>
voici le message que sa m'affiche apprés authentification :
Objet non trouvé!
L'URL requise n'a pu etre trouvée sur ce serveur. La référence sur la page citée semble être erronée ou perimée. Nous vous prions d'informer l'auteur de cette page de cette erreur.
Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le gestionnaire du site.
Error 404
127.0.0.1
10/16/09 15:31:33
Apache/2.2.13 (Win32) PHP/5.3.0
Juste pr qe tu comprenne voici ma table utilisateur pour l'auhentification :
user mdp
ARM 63 stage
ARM 18 stage....
merciiiii
Dans un premier temps tu pourrais tester si l'ensemble du script fonctionne, en remplaçant les header(...) par des echo "toto/tata/titi" et te logguer avec chacun des users pour vérifier.
Ensuite, vu le message d'erreur que tu obtiens, les redirections n'arrivent pas à être effectuée.
Ou se trouve tes pages de profil par rapport à la page d'authentification (dans l'arborescence de ton site je veux dire). De même, ou se trouve la page de formulaire ?
Ensuite, vu le message d'erreur que tu obtiens, les redirections n'arrivent pas à être effectuée.
Ou se trouve tes pages de profil par rapport à la page d'authentification (dans l'arborescence de ton site je veux dire). De même, ou se trouve la page de formulaire ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok, je n'ai pas testé ce que je t'ai donné, je l'ai fait à la volée mais l'idée est là. Essai de débugger, voir jusqu'ou ton programme va avant d'échouer. Afficher les données pour voir ce qui cloche et pouvoir corriger, etc.
Bon courage à toi et bon we.
Bon courage à toi et bon we.
Bonjour,
j'ai integré le code d'authentification posté par mr kij_82 dans ma page mais j'ai l'erreur suivant:
Notice: Undefined index: login in C:\xampp\web\htdocs\g_h travelv1\index.php on line 5
Notice: Undefined index: psw in C:\xampp\web\htdocs\g_h travelv1\index.php on line 6
erreur dans la requête
Merci de me répondre :)
j'ai integré le code d'authentification posté par mr kij_82 dans ma page mais j'ai l'erreur suivant:
Notice: Undefined index: login in C:\xampp\web\htdocs\g_h travelv1\index.php on line 5
Notice: Undefined index: psw in C:\xampp\web\htdocs\g_h travelv1\index.php on line 6
erreur dans la requête
Merci de me répondre :)