[php] authentification
kacxial
-
ISR Messages postés 66 Statut Membre -
ISR Messages postés 66 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] authentification
- Double authentification google - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Php alert ✓ - Forum PHP
- Code a 6 chiffres application d'authentification instagram - Forum Instagram
7 réponses
sur PHP maintenant il faut sortir les valeurs des requetes et les recupéré en fonction de la méthode utilisée :
$query = "SELECT * FROM membre WHERE pseudo=' ".$_POST["user_name"]." ' AND pass=' ".$_POST["password"]." ' ";
$result = mysql_query($query,$link);
if(!$result){ echo "vous n´avez pas de compte";}
else{
while ($row= mysql_fetch_array($result)){
$_SESSION["login"]=$row["pseudo"];
}
?>
Essai deja ça .
$query = "SELECT * FROM membre WHERE pseudo=' ".$_POST["user_name"]." ' AND pass=' ".$_POST["password"]." ' ";
$result = mysql_query($query,$link);
if(!$result){ echo "vous n´avez pas de compte";}
else{
while ($row= mysql_fetch_array($result)){
$_SESSION["login"]=$row["pseudo"];
}
?>
Essai deja ça .
euh ... en fait je crois ke je nais pas encore bien pris la main sur MySQL, comment fautil déclarer dans la base de donnée le type du pass et du login? Varchar? password?md5?etc...
merci encore!
merci encore!
<?
$db_host="127.0.0.1";
$db_user="root";
$db_pass="";
$database="bddmax";
$link=mysql_connect($db_host,$db_user,$db_pass) or die("Impossible de se connecter à la base de donnée. By Max!");
mysql_select_db($database) or die("Impossible de selectionner la base de donnée. La base de donnée n'existe pas... By Max");
$query = "SELECT * FROM membre WHERE pseudo=' ".$_POST["user_name"]." ' AND pass=' ".$_POST["password"]." ' ";
$result = mysql_query($query,$link);
if(!$result){ echo "vous n´avez pas de compte";}
else{
while ($row= mysql_fetch_array($result))
{
//$row["pseudo"] si le nom de la colonne est bien pseudo ...
$_SESSION["login"]=$row["pseudo"];
echo "connexion...";
}
//verification:
echo "Vous êtes connecté comme ".$_SESSION["login"];
?>
Là ça devrait marché.
Mais tout en text c'est bourin mais ça evite bien des prob surtout quand on debute.Essai deja comme ça, si ça marche je te dirai pour le md5() pour crypter les pass.
$db_host="127.0.0.1";
$db_user="root";
$db_pass="";
$database="bddmax";
$link=mysql_connect($db_host,$db_user,$db_pass) or die("Impossible de se connecter à la base de donnée. By Max!");
mysql_select_db($database) or die("Impossible de selectionner la base de donnée. La base de donnée n'existe pas... By Max");
$query = "SELECT * FROM membre WHERE pseudo=' ".$_POST["user_name"]." ' AND pass=' ".$_POST["password"]." ' ";
$result = mysql_query($query,$link);
if(!$result){ echo "vous n´avez pas de compte";}
else{
while ($row= mysql_fetch_array($result))
{
//$row["pseudo"] si le nom de la colonne est bien pseudo ...
$_SESSION["login"]=$row["pseudo"];
echo "connexion...";
}
//verification:
echo "Vous êtes connecté comme ".$_SESSION["login"];
?>
Là ça devrait marché.
Mais tout en text c'est bourin mais ça evite bien des prob surtout quand on debute.Essai deja comme ça, si ça marche je te dirai pour le md5() pour crypter les pass.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
moi g un code pr lauthetification le seul prob c kon me donne tjrs une erreur ke le login ou le mot de passe est incorrecte voila le code
<?php
//echo crypt(addslashes('pw'), 5);
if ((isset($_POST['identifiant']) && !empty($_POST['identifiant'])) && (isset($_POST['pw']) && !empty($_POST['pw']))) {
$identifiant = addslashes($_POST['identifiant']);
$pw = crypt(addslashes($_POST['pw']), 5);
require("C:\wamp\www\site\sitee\include\connect.php");
$sql = mysql_query("SELECT * FROM client WHERE identifiant = '$identifiant' AND pw = '$pw';") or die(mysql_error());
$chek=mysql_num_rows($sql);
if($chek == 1) {
if(!isset($_SESSION)) session_start();
$_SESSION['identifiant'] = $_POST['identifiant'] ;
}
else
{
echo '<script>alert("Mot de passe, ou/et login, invalide!");history.back();</script>';}
//$data = mysql_fetch_array($sql).
}else{
?>
<form action="" method="POST">
<center><h2>Client</h2></center><br/>
<table align='center'>
<tr>
<td>Identifiant</td>
<td><input style="" type="text" name="identifiant"></td>
<tr>
<tr>
<td>Mot de passe</td>
<td><input style="" type="password" name="pw"></td>
<tr>
<tr>
<td colspan = 2>
<center><input type="submit" name="ok" value="Se connecter" /><center>
</td>
<tr>
</table>
</form>
<?php
}
?>
<?php
//echo crypt(addslashes('pw'), 5);
if ((isset($_POST['identifiant']) && !empty($_POST['identifiant'])) && (isset($_POST['pw']) && !empty($_POST['pw']))) {
$identifiant = addslashes($_POST['identifiant']);
$pw = crypt(addslashes($_POST['pw']), 5);
require("C:\wamp\www\site\sitee\include\connect.php");
$sql = mysql_query("SELECT * FROM client WHERE identifiant = '$identifiant' AND pw = '$pw';") or die(mysql_error());
$chek=mysql_num_rows($sql);
if($chek == 1) {
if(!isset($_SESSION)) session_start();
$_SESSION['identifiant'] = $_POST['identifiant'] ;
}
else
{
echo '<script>alert("Mot de passe, ou/et login, invalide!");history.back();</script>';}
//$data = mysql_fetch_array($sql).
}else{
?>
<form action="" method="POST">
<center><h2>Client</h2></center><br/>
<table align='center'>
<tr>
<td>Identifiant</td>
<td><input style="" type="text" name="identifiant"></td>
<tr>
<tr>
<td>Mot de passe</td>
<td><input style="" type="password" name="pw"></td>
<tr>
<tr>
<td colspan = 2>
<center><input type="submit" name="ok" value="Se connecter" /><center>
</td>
<tr>
</table>
</form>
<?php
}
?>
Premierement mon code ne voulé pas etre interprété si je ne met pas <% et %>, je ne sais pas pourquoi...
Deuxiemement je ne sais pas vraiment ou introduire ton code, voila ce que j'ai fait mais le probleme c que quoi que je rentre en mot de passe par exemple ben il m'affiche une page blanche vide...
<%
$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. By Max!");
mysql_select_db($database) or die("Impossible de selectionner la base de donnée. La base de donnée n'existe pas... By Max");
// faut il que je mette encore cette ligne en dessous? ou?
//$affected_rows=mysql_num_rows($result);
$query = "SELECT * FROM membre WHERE pseudo=' ".$_POST["user_name"]." ' AND pass=' ".$_POST["password"]." ' ";
//$affected_rows=mysql_num_rows($result);
$result = mysql_query($query,$link);
if(!$result){ echo "vous n´avez pas de compte";}
else{
while ($row= mysql_fetch_array($result))
{
$_SESSION["login"]=$row["pseudo"];
echo "connexion...";
}
%>
Merci de ton aide, ca fait plusieurs jours que je suis dessus, je commence a prendre un peu en main MySQL...mais bon c pas encore ca...
Kacxial