Code dauthentification en php
Résolu
bodry24
Messages postés
86
Date d'inscription
Statut
Membre
Dernière intervention
-
le père -
le père -
Bonjour,
Svp j'ai un formulaire d'identification et l'action choisie est verif.php et dans verif voici le code php qu'il y a
<?php
if (isset ($_POST['login']) AND isset ($_POST['pwd']))
{
if ($_POST['login'] != NULL AND $_POST['pwd'] != NULL)
{
$login=$_POST['login'];
$pwd=$_POST['pwd'];
include ('connexion.php');
$req= mysql_query ("SELECT * FROM identification WHERE login='$login' AND pwd='$pwd'") or die('Erreur de connexion au serveur de base de données '.mysql_error());
$i= mysql_num_rows($req);
if ($i==1){echo ("vous êtes identifiez");}
else {echo ("vous n'êtes pas reconnu ds la base");}
}
else {echo ("Aucun champs ne doit rester vide");}
mysql_close();
}
?>
Ok quand j'execute c-a-d quand je rempli les champs de mn formulaire et je valide ça me renvoi une page vierge veuillez m'aidez à deceler le probleme ds ce code et à le corrigé svp.
Merci
Svp j'ai un formulaire d'identification et l'action choisie est verif.php et dans verif voici le code php qu'il y a
<?php
if (isset ($_POST['login']) AND isset ($_POST['pwd']))
{
if ($_POST['login'] != NULL AND $_POST['pwd'] != NULL)
{
$login=$_POST['login'];
$pwd=$_POST['pwd'];
include ('connexion.php');
$req= mysql_query ("SELECT * FROM identification WHERE login='$login' AND pwd='$pwd'") or die('Erreur de connexion au serveur de base de données '.mysql_error());
$i= mysql_num_rows($req);
if ($i==1){echo ("vous êtes identifiez");}
else {echo ("vous n'êtes pas reconnu ds la base");}
}
else {echo ("Aucun champs ne doit rester vide");}
mysql_close();
}
?>
Ok quand j'execute c-a-d quand je rempli les champs de mn formulaire et je valide ça me renvoi une page vierge veuillez m'aidez à deceler le probleme ds ce code et à le corrigé svp.
Merci
A voir également:
- Code dauthentification en php
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
13 réponses
Bonjour
Il y a une branche de ton programme pour laquelle rien ne s'affiche : c'est le cas où $_POST['login'] ou $_POST['pwd'] ne sont pas définis.
Ça vient sans soute du formulaire, dont les champs ne s'appellent pas login et pwd, ou qui n'utilise pas la méthode POST
Peux-tu montrer le code du formulaire ?
Il y a une branche de ton programme pour laquelle rien ne s'affiche : c'est le cas où $_POST['login'] ou $_POST['pwd'] ne sont pas définis.
Ça vient sans soute du formulaire, dont les champs ne s'appellent pas login et pwd, ou qui n'utilise pas la méthode POST
Peux-tu montrer le code du formulaire ?
Ok voici le code du formulaire.
<form action="verif.php" method="post">
<table border="1" align="center">
<caption align="center">Identification</caption>
<tr align="left">
<td>Nom d'utilisateur</td>
<TD><input type="text" name="login" /></TD>
</tr>
<tr align="left">
<td>Mot de passe</td>
<td><input type="password" name="pwd" /></td>
</tr>
</table>
</form>
Merci pour tout ce que vous faites
<form action="verif.php" method="post">
<table border="1" align="center">
<caption align="center">Identification</caption>
<tr align="left">
<td>Nom d'utilisateur</td>
<TD><input type="text" name="login" /></TD>
</tr>
<tr align="left">
<td>Mot de passe</td>
<td><input type="password" name="pwd" /></td>
</tr>
</table>
</form>
Merci pour tout ce que vous faites
Comment fais-tu pour envoyer le formulaire ? Je ne vois pas de bouton submit.
Pour voir ce qui arrive vraiment dans ta page verif.php, ajoute dèle le début :
Pour voir ce qui arrive vraiment dans ta page verif.php, ajoute dèle le début :
<?php var_dump($_POST); ...
Merci. Je viens de trouvé les erreurs d'abord je n'ai pas pris la methode "post" je ne sais pas comment j'ai fais pour choisir "get" et aussi j'avais mal saisi le nom de table dans laquelle je devais enregistrer les données.
Merci beaucoup
Merci beaucoup
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Excusez moi je veux egalement savoir un truc. Est-ce possible d'utiliser ses variables sur une autre pages?
Genre a pres identification je veux que le nom de la personne s'affiche sur la page sur laquelle elle va quoi. J'espere avoir été claire.
Merci encore
Genre a pres identification je veux que le nom de la personne s'affiche sur la page sur laquelle elle va quoi. J'espere avoir été claire.
Merci encore
Oui, c'est possible. Cela s'appelle les sessions. Il faut mettre au début de ton script un appel à la fonction session_start(). Ensuite, tu dispose d'un tableau $_SESSION (c'est une varibale prédéfinie en PHP) qui est transmis de page en page. Tu peux écrire tes valeurs dedans : $_SESSION['nom'] = $nom, $_SESSION['prenom'] = $prenom etc... et les récupérer dans une autre page (qui commence aussi avec session_start()) : $nom=$_SESSION['nom'] etc...
Alors dois mettre session_start ds php si oui je l'ai fais ça affiche même le nom comme voulu mais tout en haut de la page il'y a un message d'erreur je comprends pas
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\memoire\verif.php:8) in C:\wamp\www\memoire\verif.php on line 9
voic mon code de verif.php now:
<?php
session_start();
if (isset ($_POST['login']) AND isset ($_POST['pwd']))
{
if ($_POST['login'] != NULL AND $_POST['pwd'] != NULL)
{
$login=$_POST['login'];
$_SESSION['login']=$login;
$pwd=$_POST['pwd'];
$_SESSION['pwd']=$pwd;
include ('connexion.php');
$req= mysql_query ("SELECT * FROM connexion WHERE login='$login' AND pwd='$pwd'") or die('Erreur de connexion au serveur de base de données '.mysql_error());
$i= mysql_num_rows($req);
if ($i==1){include ('redaction.php');}
else {include ('identification.html');}
}
else {echo ("Aucun champs ne doit rester vide");}
mysql_close();
}
?>
Alors je fais quoi now?
Merci
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\memoire\verif.php:8) in C:\wamp\www\memoire\verif.php on line 9
voic mon code de verif.php now:
<?php
session_start();
if (isset ($_POST['login']) AND isset ($_POST['pwd']))
{
if ($_POST['login'] != NULL AND $_POST['pwd'] != NULL)
{
$login=$_POST['login'];
$_SESSION['login']=$login;
$pwd=$_POST['pwd'];
$_SESSION['pwd']=$pwd;
include ('connexion.php');
$req= mysql_query ("SELECT * FROM connexion WHERE login='$login' AND pwd='$pwd'") or die('Erreur de connexion au serveur de base de données '.mysql_error());
$i= mysql_num_rows($req);
if ($i==1){include ('redaction.php');}
else {include ('identification.html');}
}
else {echo ("Aucun champs ne doit rester vide");}
mysql_close();
}
?>
Alors je fais quoi now?
Merci
Le message d'erreur que tu indiques ne vient pas du code que tu montres.
D'après le message d'erreur, le session_start() est à la ligne 9, alors que dans ton script il est à la ligne 2.
Es-tu bien sûr que ce message d'erreur va avec ce script ?
D'après le message d'erreur, le session_start() est à la ligne 9, alors que dans ton script il est à la ligne 2.
Es-tu bien sûr que ce message d'erreur va avec ce script ?
Bonjour
Excusez moi voici le code complet que j'aurais du vous envoyer:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
<body>
<?php
session_start();
if (isset ($_POST['login']) AND isset ($_POST['pwd']))
{
if ($_POST['login'] != NULL AND $_POST['pwd'] != NULL)
{
$login=$_POST['login'];
$_SESSION['login']=$login;
$pwd=$_POST['pwd'];
$_SESSION['pwd']=$pwd;
include ('connexion.php');
$req= mysql_query ("SELECT * FROM connexion WHERE login='$login' AND pwd='$pwd'") or die('Erreur de connexion a la base de données '.mysql_error());
$i= mysql_num_rows($req);
if ($i==1){include ('redaction.php');}
else {include ('identification.html');}
}
else {echo ("Aucun champs ne doit rester vide");}
mysql_close();
}
?>
</body>
</html>
Merci a bientot
Excusez moi voici le code complet que j'aurais du vous envoyer:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>
<body>
<?php
session_start();
if (isset ($_POST['login']) AND isset ($_POST['pwd']))
{
if ($_POST['login'] != NULL AND $_POST['pwd'] != NULL)
{
$login=$_POST['login'];
$_SESSION['login']=$login;
$pwd=$_POST['pwd'];
$_SESSION['pwd']=$pwd;
include ('connexion.php');
$req= mysql_query ("SELECT * FROM connexion WHERE login='$login' AND pwd='$pwd'") or die('Erreur de connexion a la base de données '.mysql_error());
$i= mysql_num_rows($req);
if ($i==1){include ('redaction.php');}
else {include ('identification.html');}
}
else {echo ("Aucun champs ne doit rester vide");}
mysql_close();
}
?>
</body>
</html>
Merci a bientot
la fonction session_start doit être appelée avant tout envoi de données vers le client. Donc avant le <!DOCTYPE...
mais si tu utilises d'autres fonctions qui font appel aux en-têtes HTTP (envoi de cookies, redirection par "Location: "...) tu retrouveras le même problème plus loin
<?php session_start(); ?> <!DOCTYPE html PUBLIC etc...
mais si tu utilises d'autres fonctions qui font appel aux en-têtes HTTP (envoi de cookies, redirection par "Location: "...) tu retrouveras le même problème plus loin