Identification <session_start()>

LiLou LiLa Messages postés 330 Statut Membre -  
LiLou LiLa Messages postés 330 Statut Membre -
Bonjour à tous,
toujours dans mon petit projet, je dois rajouter maintenant une page pour l'identification et utiliser des <session_start()>
je decouvre un peu donc si vous pouvez un peu m expliquer le principe et m aider niveau code ça m'aiderai beaucoup :)
lors de l'identification, le nom et mot de passe doit s'enregistré (dans une sessiona ce que jai compris)
et utilisé dans la page connexion.php qui contient la partie connexion au serveur et a la base de données

merci d'avance
A voir également:

17 réponses

guilom076 Messages postés 52 Statut Membre 2
 
Bonjour,

Regarde https://phpsources.net/tutoriel-sessions.htm c'est relativement complet sur les sessions et plutot bien expliqué..

Si tu as encore un souci, hésite pas.
0
LiLou LiLa Messages postés 330 Statut Membre 12
 
on est obligé de creer une table pour enregistrer le nom et mot de passe et pour verifier ?
c'est pas possible de le faire par rapport a une autre page reservé a la connexion?
0
JR des cavernes Messages postés 166 Statut Membre 84
 
En utilisant <?php session_start(); ?> au début de chacune de tes pages, tu rends accessible la variable globale $_SESSION
C'est à dire que tu pourra utiliser $_SESSION['cequetuveux'] dans toutes les pages où il y a session_start(); et que la variable aura toujours la même valeur.
Plus clairement, si tu mets dans ta première page $_SESSION['nom'] = "LiLou LiLa", $_SESSION['nom'] aura comme valeur "LiLou LiLa" dans toutes les pages où il y a session_start();
0
LiLou LiLa Messages postés 330 Statut Membre 12
 
en fait je dois faire une page
pour prendre les valeurs du gars quand il s'identifie
et les mettre dans la connexion
pour voir si c'est pareil?
si c'est bon il passe sinon non et pour ça jutilise
$_SESSION[nom]
et
$_SESSION[motdepasse]
?

ma page connexion est une page a apart des autres codes, je fais un
include "connexion.php
"

la session et donc la verification c'ets avec la page connexion?
c'est dans une page a part et je dois l'appeler aussi

et après avec mon code mettre des If $_session[nom]=?
0
JR des cavernes Messages postés 166 Statut Membre 84
 
Lorsque tu fais un include, le code dans le fichier inclus est directement placé dans la page il me semble, donc tu mets le <?php session_start(); ?> seulement au début de ta page qui contient le include.

Et il faut que tu mettes des cotes : $_SESSION['motdepasse'] et pas $_SESSION[motdepasse]
0
LiLou LiLa Messages postés 330 Statut Membre 12
 
hum d accord
pour l instant j ai juste fait ma page d'identification pour qu il rentre le nom et mot de passe

est ce qu on peut "bloquer" le nom? enfin je veux dire faire en sorte que quand on clique sur la zone de texte il est pas les noms qu on a eu rentré qui s'affiche

ma page : identification.php

<? SESSION_START() ?>

<h1>Identification </h1>
<p>Vous devez vous identifier pour acceder au site<br>
&#8203;Saisissez le nom et le mot de passe</p>

<form action="login.php" method="post">
<table align="center" border=0>
	<tr>
		<td> Nom : </td>
		<td><input type="text" name="nom"></td>
	</tr>
	<tr>
		<td> Mot de passe : </td>
		<td><input type="password" name="motdepasse"></td>
	</tr>
	<tr>
		<td></td>
		<td><input type="submit" value="ok"></td>
	</tr>
</table>
</form>


il sert le SESSION_START() ici?
0

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

Posez votre question
JR des cavernes Messages postés 166 Statut Membre 84
 
Il me semble qu'on ne peut pas bloquer le nom, comme tu dis, car cela est lié au navigateur.

Le SESSION_START() ne sert pas ici. De plus écris le en minuscule avec un point virgule après
0
LiLou LiLa Messages postés 330 Statut Membre 12
 
ok c'est rectifier :)

et donc le bouton va sur une autre page
de là je recupere les valeurs saisies :
$nom=$_POST['nom'];
$motdepasse=$_POST['motdepasse'];

(c'est bien ça ? )
et maintenant ? je peux les comparer avec les valeurs que j ai dans la page connexion ?
connexion.php :
<?php
require_once('DB.php');
$dbType="mysql";
$host="*****";
$account="******";
$pass="********";
$dbName="cartouche";
$dsn="$dbType://$account:$pass@$host/$dbName";
$db = DB::connect($dsn);

if (DB::isError($db))
{echo"ERREUR :".$db->getMessage();}
?>
0
LiLou LiLa Messages postés 330 Statut Membre 12
 
j ai fait :
<? session_start() ?>

<? //variable de connexion
require_once('DB.php');
$dbType="mysql";
$host="******";
$account="********";
$pass="********";
$dbName="cartouche";
$dsn="$dbType://$account:$pass@$host/$dbName";
//recupere les nom & mot de passe saisis

$nom=$_POST['nom'];
$motdepasse=$_POST['motdepasse'];

if(($nom==$account)&&($motdepasse==$pass)
{
	$db = DB::connect($dsn);
	if (DB::isError($db))
		{
			echo"ERREUR :".$db->getMessage();
		}
}
else{
	echo "Erreur sur le nom ou le mot de passe : vous n'avez pas acces au site";
	echo "<a href=\"identification.php\">Identifiez vous</a>";
}
?>


mais ça marche pas jai "GetMessage........ jusqu à la fin"

les sessions faut les utiliser dedans?
0
JR des cavernes Messages postés 166 Statut Membre 84
 
Il me semble qu'il manque une parenthèse : if(($nom==$account)&&($motdepasse==$pass))
0
LiLou LiLa Messages postés 330 Statut Membre 12
 
en effet
mais c etait pas ça j ai toujours le meme message :
getMessage(); } ?>*/?> getMessage(); } } else{ echo "Erreur sur le nom ou le mot de passe : vous n'avez pas acces au site"; echo "Identifiez vous"; } ?>

mais j utilise pas de session là c'est normal?
0
JR des cavernes Messages postés 166 Statut Membre 84
 
Mets un espace ici pour voir echo espace "ERREUR :".$db->getMessage();
0
LiLou LiLa Messages postés 330 Statut Membre 12
 
ça change rien
ERREUR ne s affiche pas donc c'est a partir de $db-> mais y a pas vraiment de raison ..
et pour les sessions?
et je dois mettre quoi sur les autres page s?
0
JR des cavernes Messages postés 166 Statut Membre 84
 
Moi je ne vois pas pourquoi tu aurais besoin des sessions pour l'instant...

Ton fichier DB.php contient quoi ? L'erreur vient peut-être de là...
0
LiLou LiLa Messages postés 330 Statut Membre 12
 
heu jen sais rien
mais avant aujourdh'ui (c'est a dire utiliser pear sans session) tout marché
et ma page connexion.php etait
<?require_once('DB.php');
$dbType="mysql";
$host="172.17.50.102";
$account="root";
$pass="";
$dbName="cartouche";
$dsn="$dbType://$account:$pass@$host/$dbName";

$db = DB::connect($dsn);

if (DB::isError($db))
{
	echo"ERREUR :".$db->getMessage();
}
?>


et est lié aux autres pages avec un include"connexion.php"

tout marcher :)

mais là .. et vu que je sais pas utiliser les sessions..
0
JR des cavernes Messages postés 166 Statut Membre 84
 
Je en comprends pas bien : si tout marche quand tu n'utilise pas de session,
pourquoi utiliser une session. Ensuite, les sessions ne sont pas compliquées à utiliser :

- Tu mets session_start(); au début de chacune de tes pages, avant tout autre chose.
- A partir de là tu peux créer des variables $_SESSION['cequetuveux'] qui seront
accessibles et modifiables sur toutes tes pages.

Si tu veux faire une page d'identification tu procède ainsi :

- Tu demande un nom et un mot de passe.
- Tu vérifie si le couple nom/mot de passe est bien dans la base de données.
- Si c'est le cas tu récupères et enregistres les informations concernant l'utilisateur (son nom par exemple)
dans une variable de session. Tu pourras ainsi afficher les infos de l'utilisateur
facilement sur toutes tes pages.
0
LiLou LiLa Messages postés 330 Statut Membre 12
 
je suis en stage c'est pour me faire apprendre a utiliser les sessions
d'abord mon site etait qu en php,puis j'ai du le changer en pear, et là je dois rajouter session

il vient de passer et je lui ai tout demandé :
en fait, c'est juste "pour le fun" son histoire de session, il veut :

une page identification ou le mot de passe saisi et le nom sont enregistrés dans une session

et faire appel a cette session plusieurs pages plus loin pour recuperer et afficher le mot de passe et nom que l'utilisateur avait saisi

faut que je l'enregistre en fait et le resorte plus loin (utilité des sessions! )
0
JR des cavernes Messages postés 166 Statut Membre 84
 
OKKKKKKKKKKKKKKKKKKKKK !!!

Ben ça c'est pas trop compliqué. Tu gardes ta première page :

<h1>Identification </h1>
<p>Vous devez vous identifier pour acceder au site<br>
​Saisissez le nom et le mot de passe</p>

<form action="login.php" method="post">
<table align="center" border=0>
<tr>
<td> Nom : </td>
<td><input type="text" name="nom"></td>
</tr>
<tr>
<td> Mot de passe : </td>
<td><input type="password" name="motdepasse"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="ok"></td>
</tr>
</table>
</form>

Puis sur la page login.php :
<?php session_start(); ?> tout en haut

$_SESSION['nom']=$_POST['nom'];
$_SESSION['motdepasse']=$_POST['motdepasse'];

et voilà.

A partir de là toutes tes pages avec <?php session_start(); ?> tout en haut peuvent voir le nom est le
mot de passe en faisant par exemple :
echo "Nom : ".$_SESSION['nom']." || Mot de passe : ".$_SESSION['motdepasse']."";
0
LiLou LiLa Messages postés 330 Statut Membre 12
 
merci
et comment tu fais pour passer de identification.php, a login.php et a accueil.php
sans que login.php saffiche?
0
LiLou LiLa Messages postés 330 Statut Membre 12
 
merci :)
il me faut faire une page de redirection maintenant et ça devrait etre bon
0