[php] pb authentification
kacxial
Messages postés
20
Statut
Membre
-
darkhorkeu Messages postés 74 Statut Membre -
darkhorkeu Messages postés 74 Statut Membre -
Bonjour a tous,
Voila je débute dans la programmatin php, html et dans le domaine de la base de donnée MySQL.
je cherche a faire une page (en php) d'authentification. j'ai créer une base de donnée sur MySQL 1.8 (windows) et j'ai créer une table avec 3 champs(1=ID, 2=pass et 3=pseudo) et j'ai rempli le pass et le pseudo.
Est ce que déja ce que j'ai fait c correct?
ensuite voila mon code php mais ca ne marche pas, merci de me corriger, toutes les remarques sont bonnes a prendre pour moi, merci:
une page login:
--------------------------------------------------------------------
<?php
ECHO "Identification\n<br>";
?>
<HTML>
<HEAD>
</HEAD>
<BODY>
<FORM name="login" method="post"action="validation.php">
username:<INPUT type="text" name="user_name"><BR>
password:<INPUT type="password" name="password"><BR>
<INPUT type="submit" value="submit">
</FORM>
</HTML>
-----------------------------------------------------
et une page validation:
--------------------------------------------------
<?php
$db_host="127.0.0.1";
$db_user="root";
$db_pass="";
$database="bddmax";
mysql_connect($db_host,$db_user,$db_pass) or die("Impossible de se connecter à la base de donnée.");
mysql_select_db($database) or die("Impossible de selectionner la base de donnée. La base de donnée n'existe pas... ");
// jusque la ca marche!
//mais la prochaine ligne ne marche pas, y a til une erreur de syntaxe? :
$query = "SELECT * FROM membre WHERE pseudo='$user_name' AND pass='$password'";
$result=mysql_query($query) or die('error making query');
$affected_rows=mysql_num_rows($result);
if($affected_rows ==1){
print 'VALIDE';
//ajoute lutilisateur à une variable de session
$_SESSION['usernamAd']='$user_name';
}
else {
print 'PAS VALIDE';
}
?>
-------------------
Voila, j'espere que vous pouvez maider... je débute dans ce language, et je galere un peu pour les requetes, tou ca...
Merci a vous
kacxial
Voila je débute dans la programmatin php, html et dans le domaine de la base de donnée MySQL.
je cherche a faire une page (en php) d'authentification. j'ai créer une base de donnée sur MySQL 1.8 (windows) et j'ai créer une table avec 3 champs(1=ID, 2=pass et 3=pseudo) et j'ai rempli le pass et le pseudo.
Est ce que déja ce que j'ai fait c correct?
ensuite voila mon code php mais ca ne marche pas, merci de me corriger, toutes les remarques sont bonnes a prendre pour moi, merci:
une page login:
--------------------------------------------------------------------
<?php
ECHO "Identification\n<br>";
?>
<HTML>
<HEAD>
</HEAD>
<BODY>
<FORM name="login" method="post"action="validation.php">
username:<INPUT type="text" name="user_name"><BR>
password:<INPUT type="password" name="password"><BR>
<INPUT type="submit" value="submit">
</FORM>
</HTML>
-----------------------------------------------------
et une page validation:
--------------------------------------------------
<?php
$db_host="127.0.0.1";
$db_user="root";
$db_pass="";
$database="bddmax";
mysql_connect($db_host,$db_user,$db_pass) or die("Impossible de se connecter à la base de donnée.");
mysql_select_db($database) or die("Impossible de selectionner la base de donnée. La base de donnée n'existe pas... ");
// jusque la ca marche!
//mais la prochaine ligne ne marche pas, y a til une erreur de syntaxe? :
$query = "SELECT * FROM membre WHERE pseudo='$user_name' AND pass='$password'";
$result=mysql_query($query) or die('error making query');
$affected_rows=mysql_num_rows($result);
if($affected_rows ==1){
print 'VALIDE';
//ajoute lutilisateur à une variable de session
$_SESSION['usernamAd']='$user_name';
}
else {
print 'PAS VALIDE';
}
?>
-------------------
Voila, j'espere que vous pouvez maider... je débute dans ce language, et je galere un peu pour les requetes, tou ca...
Merci a vous
kacxial
A voir également:
- [php] pb authentification
- Double authentification google - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Code a 6 chiffres application d'authentification instagram - Forum Instagram
- Php alert ✓ - Forum PHP
1 réponse
Salut,
Tu veux des remarques alors en voila ;)
En 1er, il faut éviter d'écrire quelque chose avant la balise <HTML>.
Je veux parler du :
Et puis vu qu'il n'y à rien de dynamique, tu peux l'écrire directement en HTML
Cependant, cela ne change rien au niveau du fonctionnement.
En 2e:
Je pense que le problème vient du fait que tu utilises des variables $user_name et $password alors qu'elles n'existent pas.
Depuis un bon moment, PHP ne permet pas d'appeler directement les champs d'un formulaire comme ça (pour des raisons de sécurié).
Il faut rajouter ceci au desssus de ta requête:
$user_name = $_POST['user_name'];
$password = $_POST['password'];
$_POST est une variable globale dans laquelle PHP met les valeurs du formulaire (avec method="post").
Tu peux vérifier si la requête SQL est correcte en ajoutant la commande suiavnte le tps des tests :
Pour le moment, je n'ai que ça à dire en espérant que ça marchera.
a+
Tu veux des remarques alors en voila ;)
En 1er, il faut éviter d'écrire quelque chose avant la balise <HTML>.
Je veux parler du :
ECHO "Identification <br>";
Et puis vu qu'il n'y à rien de dynamique, tu peux l'écrire directement en HTML
<HTML> <HEAD><TITLE>Identification</TITLE> </HEAD> <BODY> Identification<br> <FORM name="login" method="post"action="validation.php"> username:<INPUT type="text" name="user_name"><BR> password:<INPUT type="password" name="password"><BR> <INPUT type="submit" value="submit"> </FORM> </HTML>
Cependant, cela ne change rien au niveau du fonctionnement.
En 2e:
Je pense que le problème vient du fait que tu utilises des variables $user_name et $password alors qu'elles n'existent pas.
Depuis un bon moment, PHP ne permet pas d'appeler directement les champs d'un formulaire comme ça (pour des raisons de sécurié).
Il faut rajouter ceci au desssus de ta requête:
$user_name = $_POST['user_name'];
$password = $_POST['password'];
$_POST est une variable globale dans laquelle PHP met les valeurs du formulaire (avec method="post").
Tu peux vérifier si la requête SQL est correcte en ajoutant la commande suiavnte le tps des tests :
echo $query;
Pour le moment, je n'ai que ça à dire en espérant que ça marchera.
a+