Création
d'entreprise
Posez votre question Signaler

[php] authentification

kacxial - Dernière réponse le 7 févr. 2009 à 02:55
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
Lire la suite 

[php] authentification »

8 réponses
Réponse
+0
moins plus
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 .
kacxial - 23 mars 2006 à 08:28
ok merci pour ton aide...mais je ne suis vraiment pas doué apparement...
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
Ajouter un commentaire
Réponse
+0
moins plus
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!
Ajouter un commentaire
Réponse
+0
moins plus
<?

$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.
Ajouter un commentaire
Réponse
+0
moins plus
bonjour ,
j'ai executé ton code ca maffiche une page blanche vierge
Ajouter un commentaire
Réponse
+0
moins plus
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
}
?>
Ajouter un commentaire
Réponse
+0
moins plus
pr la connection je lé fé tte seul ds un autre fichier php a ki g fé appel avec require voila
Ajouter un commentaire
Réponse
+0
moins plus
je t'es envoyé tt tu les a reçu??
Ajouter un commentaire
Ce document intitulé « [php] authentification » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?