Php-Passage de variables lors d'une redirect°
Résolu
nino11
Messages postés
76
Date d'inscription
Statut
Membre
Dernière intervention
-
Brachior Messages postés 613 Date d'inscription Statut Membre Dernière intervention -
Brachior Messages postés 613 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train de créer un petit script PHP d'identification.
1er formulaire (login.html)
Ainsi, j'ai un 1er formulaire HTML avec 2 champs textes ("login" et "mot de passe) et un bouton valider.
J'ai un script JAVASCRIPT qui vérifie si les champs sont renseignés si c'est le cas, je passe au formulaire suivant (si ce n'est pas le cas, je reste sur ce formulaire jusqu'à que les deux champs textes soient renseignés)
2ème formulaire (testlogin.php)
Mon 2ème formulaire teste en PHP la validité de mon mot de passe via un base de données et un cryptage MD5.
Si le login et le mot de passe sont corrects, tous va bien.
Cependant, ça se complique lorsqu'il s'agit d'un login et d'un pass qui ne correspondent pas...
En effet, si mon login et mon mot de passe ne sont pas concordant, je fais une redirection sur login.html (1er formulaire) mais, je souhaite faire afficher sur mon 1er formulaire que le login et le mot de passe sont incorrects.
Le problème est que lors tout premier affichage de login.php, le message d'erreur s'affiche déjà...
Alors, si quelqu'un à un solution ? ? ?
Je suis en train de créer un petit script PHP d'identification.
1er formulaire (login.html)
Ainsi, j'ai un 1er formulaire HTML avec 2 champs textes ("login" et "mot de passe) et un bouton valider.
J'ai un script JAVASCRIPT qui vérifie si les champs sont renseignés si c'est le cas, je passe au formulaire suivant (si ce n'est pas le cas, je reste sur ce formulaire jusqu'à que les deux champs textes soient renseignés)
2ème formulaire (testlogin.php)
Mon 2ème formulaire teste en PHP la validité de mon mot de passe via un base de données et un cryptage MD5.
Si le login et le mot de passe sont corrects, tous va bien.
Cependant, ça se complique lorsqu'il s'agit d'un login et d'un pass qui ne correspondent pas...
En effet, si mon login et mon mot de passe ne sont pas concordant, je fais une redirection sur login.html (1er formulaire) mais, je souhaite faire afficher sur mon 1er formulaire que le login et le mot de passe sont incorrects.
Le problème est que lors tout premier affichage de login.php, le message d'erreur s'affiche déjà...
Alors, si quelqu'un à un solution ? ? ?
A voir également:
- Php-Passage de variables lors d'une redirect°
- Passage qwerty azerty - Guide
- Easy php - Télécharger - Divers Web & Internet
- Test passage windows 11 - Guide
- Passage à windows 11 gratuit - Guide
- Passage windows 7 à 10 - Accueil - Mise à jour
3 réponses
Regarde ce lien :
URL = http://participer.hostarea.org/Cours/Acces/Connexion.html
LOGIN = cours
PASSW = maconnexion
Il contient les infomartions que tux veux!
Epsilone
URL = http://participer.hostarea.org/Cours/Acces/Connexion.html
LOGIN = cours
PASSW = maconnexion
Il contient les infomartions que tux veux!
Epsilone
envoi ta variable comme quoi il y a eut une erreur en method post via un formulaire en hidden
et ds login.php tu verifie que $_POST['ta_variable_erreur'] existe ( avec un isset )
et si c'est le cas alr tu l'affiche .. sinon tu affiche le formulaire tt simple ^^
et ds login.php tu verifie que $_POST['ta_variable_erreur'] existe ( avec un isset )
et si c'est le cas alr tu l'affiche .. sinon tu affiche le formulaire tt simple ^^
Salut,
Quel message d'erreur ???
As-tu pensé à utiliser des variables de session ???
Pourrait-tu nous mettre ton code si tu veux qu'on y jette un oeil ?
Quel message d'erreur ???
As-tu pensé à utiliser des variables de session ???
Pourrait-tu nous mettre ton code si tu veux qu'on y jette un oeil ?
voila le 1er formulaire...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Connexion à la base de données</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<SCRIPT LANGUAGE="JavaScript">
/* On crée une fonction de verification */
function verifForm(formulaire)
{
if((formulaire.login.value == "") || (formulaire.pass.value == "")) /* on detecte si login et pass sont vides */
alert('Remplissez tous les champs avant de valider !!'); /* dans ce cas on lance un message d'alerte */
else
formulaire.submit(); /* sinon on envoi le formulaire */
}
</SCRIPT>
</head>
<body>
<h1>Bienvenue !-)</h1>
Ce petit formulaire va vous permettre d'acceder à la base de données
</br>
</br>
<form name="formlogin" action="testlogin.php" method="post">
<p>
<table border=0 style="text-align: right;">
<tr>
<td><label for="llogin">Login* :</label></td>
<td><input type="text" name="login" id="llogin" /></td>
</tr>
<tr>
<td><label for="lmdp">Mot de passe* :</label></td>
<td><input type="password" name="pass" id="lmdp" /></td>
</tr>
<tr>
<td><h6>* champs obligatoires</h6> </td>
</tr>
<tr>
<td></td>
<td><input type="button" value="Valider" onClick="verifForm(this.form)"/></td>
</tr>
</table>
</p>
</form>
</body>
</html>
ET VOILA LE SECOND
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Test du login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<!--Nous allons créer un formulaire qui testera le login et le mot de passe-->
<!-- - - - login = $_POST['login'] - - - - - - pass = $_POST['pass'] - - - -->
<?php
$connex = mysql_connect("localhost", "root", "");
mysql_select_db('brocanteurs');
$req = "SELECT pass FROM root WHERE login='".$_POST['login']."'";
$resultat = mysql_query($req);
$array = mysql_fetch_array($resultat);
mysql_close($connex);
if($array['pass'] == md5($_POST['pass']))
{
// On affiche la page menu.php
echo "Login et mot de passe corrects";
// REDIRECTION vers menu.php
session_start();
session_register($_POST['login']);
session_register($_POST['pass']);
header("Location: menu.php\n\n");
}
else
{
header("Location: login.html\n\n");
}
?>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Connexion à la base de données</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<SCRIPT LANGUAGE="JavaScript">
/* On crée une fonction de verification */
function verifForm(formulaire)
{
if((formulaire.login.value == "") || (formulaire.pass.value == "")) /* on detecte si login et pass sont vides */
alert('Remplissez tous les champs avant de valider !!'); /* dans ce cas on lance un message d'alerte */
else
formulaire.submit(); /* sinon on envoi le formulaire */
}
</SCRIPT>
</head>
<body>
<h1>Bienvenue !-)</h1>
Ce petit formulaire va vous permettre d'acceder à la base de données
</br>
</br>
<form name="formlogin" action="testlogin.php" method="post">
<p>
<table border=0 style="text-align: right;">
<tr>
<td><label for="llogin">Login* :</label></td>
<td><input type="text" name="login" id="llogin" /></td>
</tr>
<tr>
<td><label for="lmdp">Mot de passe* :</label></td>
<td><input type="password" name="pass" id="lmdp" /></td>
</tr>
<tr>
<td><h6>* champs obligatoires</h6> </td>
</tr>
<tr>
<td></td>
<td><input type="button" value="Valider" onClick="verifForm(this.form)"/></td>
</tr>
</table>
</p>
</form>
</body>
</html>
ET VOILA LE SECOND
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Test du login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<!--Nous allons créer un formulaire qui testera le login et le mot de passe-->
<!-- - - - login = $_POST['login'] - - - - - - pass = $_POST['pass'] - - - -->
<?php
$connex = mysql_connect("localhost", "root", "");
mysql_select_db('brocanteurs');
$req = "SELECT pass FROM root WHERE login='".$_POST['login']."'";
$resultat = mysql_query($req);
$array = mysql_fetch_array($resultat);
mysql_close($connex);
if($array['pass'] == md5($_POST['pass']))
{
// On affiche la page menu.php
echo "Login et mot de passe corrects";
// REDIRECTION vers menu.php
session_start();
session_register($_POST['login']);
session_register($_POST['pass']);
header("Location: menu.php\n\n");
}
else
{
header("Location: login.html\n\n");
}
?>
</body>
</html>