Authentification login mot de passe please help me

Fermé
jer1819 Messages postés 6 Date d'inscription mardi 23 avril 2013 Statut Membre Dernière intervention 6 mai 2013 - Modifié par jer1819 le 6/05/2013 à 15:10
 Utilisateur anonyme - 7 mai 2013 à 09:20
Bonjour, j'aurais besoin d'un peu d'aide ... (même bcp)

j'ai créé un formulaire qui alimente une base de données, maintenant je veux sécuriser le tout en demandant aux utilisateurs de donner un login et un mot de passe afin que seuls les gens bien intentionnés puissent y avoir accès mais je ne sais pas trop comment m'y prendre ... pour faire la connection

j ai crée une table "utilisateur" avec des champs login et password

j'aimerais qu'on m'indique la marche à suivre parce que je ne sais pas comment faire pour inclure une authentification dans le formulaire


merci à l'avance

cordialement
ps:le code que j ai fait(je sais qu'il est pas top voir nul) et super débutant en php :,(


--------------------------------------------page 1-------------------------------------------------------
<html>

<head>

<title>Liens</title>

</head>

<body>

<table border="1" cellpadding="0" cellspacing="0">

<tr>

<th>Nom du site</th>

<th>URL</th>



<!--<form action="login.php" method='post'>
<table align="center" border="0">
<tr>
<td>Login :</td>
<td><input type="text" name="login" maxlength="250"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password"name="pass" maxlength="10"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="log in"></td>
</tr>
</table>
</form>-->


<?php
// On démarre la session
session_start();
$loginOK = false;


$BDD = mysql_connect("localhost","root",""); // Connexion à la base de données.
mysql_select_db("airedejava"); // Sélection de la base de données utilisée.



if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {

extract($_POST);

// On va chercher le mot de passe afférent à ce login
$sql = "SELECT NOMUTIL,MPDUTIL FROM utilisateur WHERE NOMUTIL = '".($login)."' and MPDUTIL = '".($password)."'";
$req = mysql_query($sql) or die('Erreur SQL :415 <br />'.$sql);

// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);

// On vérifie que son mot de passe est correct
if ($password == $data['MPDUTIL']) {
$loginOK = true;
}
}
}

// Si le login a été validé on met les données en sessions
if ($loginOK) {
$_SESSION['NOMUTIL'] = $data['NOMUTIL'];

else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
?>

---------------------------------------fin de page 1---------------------------------------------------------


-----------------------------------------page 2 login.php-----------------------------------------------


<!DOCTYPE html>
<html lang="en">

<head>

<meta charset="utf-8">
<title>Fiche de declaration</title>
<link rel="stylesheet" type="text/css" media="print" href="stylesimp/print.css" />

<link rel="stylesheet" href="styles/style.css" />



</head>

<body class="page">

<div id="wrap">

<div id="header">

<h1><a href="index.html" title="DEAL">[D.E.A.L]</a></h1>

<div id="nav">

<ul class="menu">

<li class="current_page_item"><a href="index.html" title="acceuil">Accueil</a></li>
<!--<li><a href="formulaire.html" title="formulaire">Formulaire</a></li> -->

<li><a href="declaration.html" title="declaration">Déclaration</a></li>
<li><a href="actions.html" title="actions">Action</a></li>

<li><a href="statistique.html" title="statistique">Statistique</a></li>
<li><a href="recherche.html" title="recherche">Recherche</a></li>
<li><a href="contact.html" title="#">Contact</a></li>

</ul>

</div><!--end nav-->

</div><!--end header-->

<div id="main">
<form id="myForm" action="process.php" method="POST" class="jqtransform"> <!--<form action="cible_envoi.php" method="post"
enctype="multipart/form-data"> pr envo de formu. a voir jere -->
<div class="rowElem">


<h1> FICHE DE DECLARATION </h1>
<!------------------------------===== deb Identification émetteur =====------------------------------->
<fieldset>
<legend class="well">Identification émetteur</legend>
<p class="double">
<label class="field" for="pemetteur">Processus émetteur :<!--Source --></label>
</p>
<p class="double">
<label class="field" for="aemetteur">Activité émetteur :<!--Source --></label>
</p>
<p class="double5">
<label class="field" for="npemetteur">Nom/Prénom émetteur :<!--Source --></label>
</p>
<p class="double4">
<label class="field" for="femetteur">Fonction émetteur :<!--Source --></label>
</p>
</fieldset>
<!------------------------------===== Fin Identification émetteur =====------------------------------->

</body>

</html>
---------------------------------fin de page 2--------------------------------------------------
A voir également:

3 réponses

Utilisateur anonyme
6 mai 2013 à 15:14
Bonjour,

J'ai survolé ton code, et au vu de tes commentaires, ca m'a l'air correcte et donc ton erreur ne viendrai (conditionnel) pas de là.

J'ai une question à te poser : est ce que tu as un session_start(); sur ta 2nd page ? :p

Perso, j'ai une page config.php pour tout mon site (par ex) et dedans je met un session_start(); et sur chaque page de mon site, dans le <head>, je mets un <?php session_start(); ?>

Z.
0
jer1819 Messages postés 6 Date d'inscription mardi 23 avril 2013 Statut Membre Dernière intervention 6 mai 2013
6 mai 2013 à 21:51
bonsoir,
merci de ta réactivité
oui j'ai mis une session_stat sur toutes les pages avec lesquelles je dois correspondre avec la bdd
mais je n'y arrive pas et celà fait 2 semaines que je cherche sur le net
même avec le site du zéro je n'y arrive pas et sur php débutant c pareil
c pour ça que je demande de l'aide pour pouvoir y arriver
j'ai même refait une bdd avec une table "user" et deux pages html pour faire mes tests et ça ne marche pas
pourriez vous m'aider ou me renseigner sur la démarche à faire.
merci beaucoup
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
6 mai 2013 à 22:50
Salut !

J'ai juste lu le début, et j'ai trouvé ta faute !
On ne peut pas mettre de <form> dans un <table>
Si tu veux vraiment en mettre, il faut mettre TOUT le <form> entre <td></td>

Si on ne le sait pas on y passe des heures !

0
Utilisateur anonyme
7 mai 2013 à 09:20
Outch, je ne l'avais même pas vu.

Alors, oui en y regardant de plus près :
Sur page1.php, tu as :
<table>
<form>
<table>
</table>
</form>

Même s'ils c'est en commentaire (à cause des <--! -->) c'est mal écrit. En théorie il te manque un </table> mais étant donnée jérémy te l'a si bien remarqué, on ne peut pas mettre un form dans un table. Mais l'inverse est tout à fait possible :) Et tout à fait logique au point de vu programmation ;)

Bref, une règle a suivre vu que tu développes, si tu ouvres une balise, il faut la refermer et de manière pyramidale. Ex :

<html>
 <head>
 </head>
 <body>
  <div>
   <span>
   </span>
  </div>
 </body>
</html>


et non pas

<html>
 <head>
 </head>
 <body>
  <div>
   <span>
   </body>
  </div>
 </span>
</html>
0