[php] authentification

Fermé
kacxial - 22 mars 2006 à 08:33
ISR Messages postés 61 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 16 juin 2009 - 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
A voir également:

7 réponses

totor54 Messages postés 395 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 29 décembre 2006 177
22 mars 2006 à 16:55
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 .
0
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
0
kacxial Messages postés 16 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 25 janvier 2010
23 mars 2006 à 08:46
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!
0
totor54 Messages postés 395 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 29 décembre 2006 177
23 mars 2006 à 09:11
<?

$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.
0
nita2006 Messages postés 79 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 31 juillet 2008 13
16 juin 2008 à 14:52
bonjour ,
j'ai executé ton code ca maffiche une page blanche vierge
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ISR Messages postés 61 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 16 juin 2009 3
27 janv. 2009 à 15:45
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
}
?>
0
ISR Messages postés 61 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 16 juin 2009 3
27 janv. 2009 à 15:46
pr la connection je lé fé tte seul ds un autre fichier php a ki g fé appel avec require voila
0
ISR Messages postés 61 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 16 juin 2009 3
7 févr. 2009 à 02:55
je t'es envoyé tt tu les a reçu??
0