Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/09/2008, 17h38   #1
Débutant
 
Avatar de koKoTis
 
Inscription : août 2006
Messages : 3 196
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 196
Points : 1 673
Points : 1 673
Par défaut Utiliser les sessions

Bonjour, j'ai un formulaire:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<form method="POST" action="test_session_PHP.php" name="form_lunnatick">
 
 <table width="375"  border="0">
   <tr>
     <td><div align="center">
         <span class="Style5">Mot de passe:
         <input name="password_session_lunnatick" type="text" class="couleurformulaire" value="" size="32">
         </span>        
         <input type="submit" class="couleurformulaire" value="Envoyer">
     </div></td>
   </tr>
 </table>
</form>
Qui renvoi ver se fichier:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?PHP
 
session_start();
 
$vrPasswordLunnatick = $_POST['password_session_lunnatick'];
 
$_SESSION['lunnatick_session'] = $vrPasswordLunnatick;
 
 
 if ($_SESSION['lunnatick_session'] == "admin")
  {
 
   echo "test ok";
 
   $vrPasswordLunnatick = "nul";
  } 
 
 else
  die('Erreur');
?>
L'ennui c'est qu'aprés naviguation si je revien en arriére dans l'historique je post et toujour enregistre, j'ai tenter de vider la variable du mot de passe mais ca ne marche pas le post rest actif, que faire ?
koKoTis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 21h32   #2
Expert Confirmé
 
Avatar de Eusebe
 
Inscription : mars 2006
Messages : 1 989
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mars 2006
Messages : 1 989
Points : 3 606
Points : 3 606
Bonjour,

Quand tu reviens en arrière, c'est le navigateur qui resoumet les données, donc 'vider' le tableau $_POST ne changera rien... (d'ailleurs ce tableau est réinitialisé à chaque requête).

Une solution pourrait être de créer un champs caché dans ton formulaire avec un id unique (par exemple généré avec uniqid), stocké en session, que tu invalides une fois le formulaire posté (unset de la variable de session). Dans ce cas, pour passer, il faut à la fois connaître le mot de passe et avoir un id de formulaire valide (non utilisé).
Eusebe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 22h26   #3
Rédacteur/Modérateur
 
Avatar de 12monkeys
 
Homme Dr. Peters
Webmaster
Inscription : novembre 2006
Messages : 3 630
Détails du profil
Informations personnelles :
Nom : Homme Dr. Peters
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : novembre 2006
Messages : 3 630
Points : 6 232
Points : 6 232
Bonsoir

Ou alors http://php.developpez.com/faq/?page=...s-form-refresh ou http://g-rossolini.developpez.com/tu...ilisateur#LV-A.
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS
Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
Votez pour les messages qui vous ont aidés...
12monkeys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 06h16   #4
Débutant
 
Avatar de koKoTis
 
Inscription : août 2006
Messages : 3 196
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 196
Points : 1 673
Points : 1 673
je ne comprend pas bien, je met un redirection ver mon script de session, mon deuxime script ?
koKoTis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 08h33   #5
Membre du Club
 
Inscription : novembre 2003
Messages : 174
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Suisse

Informations forums :
Inscription : novembre 2003
Messages : 174
Points : 45
Points : 45
Envoyer un message via MSN à frutix
Citation:
Envoyé par koKoTis Voir le message
je ne comprend pas bien, je met un redirection ver mon script de session, mon deuxime script ?
tu voudrais faire quoi après être arrivé sur ta deuxième page (revenir à la 1ère)?
__________________
Citation:
"Qu'est-ce qui est venu le premier à la vie? Le compilateur ou le code source"
frutix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 08h37   #6
Débutant
 
Avatar de koKoTis
 
Inscription : août 2006
Messages : 3 196
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 196
Points : 1 673
Points : 1 673
je voudrais si l'utilisateur a entrer le bon mot de passe afficher une autre page htm avec un include, çà c'est bon, et si non afficher un message, ça c'est bon aussi, mais se que je veut des que les post soi nul quand j'actualise la page ou que je reviens en arrière dans l'historique après navigation
koKoTis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 08h45   #7
Membre du Club
 
Inscription : novembre 2003
Messages : 174
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Suisse

Informations forums :
Inscription : novembre 2003
Messages : 174
Points : 45
Points : 45
Envoyer un message via MSN à frutix
voici une solution:

LOGIN SUR LE SITE:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
<?php
/***********************************************************************************************
			// PAGE DE LOGIN DU SITE //
***********************************************************************************************/
?>
<table width="100%">
	<!-- Formulaire de logue -->
	<form name="form_login" action="index.php?page=5" method="post">
		<tr>
			<td colspan="2" align="center"><b>CONNEXION A L'ADMINISTRATION</b></td>
		</tr>
		<tr>
		  <td colspan="2"><br></td>
		</tr>
		<tr>
			<td width="50%" align="right">
				Login:
			</td>
			<td width="50%" align="left">
				<input name="for_login" type="text" size="20" maxlength="30" />
			</td>
		</tr>
		<tr>
			<td width="50%" align="right">
				Pass:
			</td>
			<td width="50%" align="left">
				<input name="for_pass" type="password" size="20" maxlength="30" />
			</td>
		</tr>
		<tr>
			<td colspan="2" align="center"><input name="for_connection" type="submit" value="Connexion" /></td>
		</tr>
	</form>
</table>
Page pour vérifier si le login/pass est correct:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
/***********************************************************************************************
			// Vérification de la connexion à l'administration du site //
***********************************************************************************************/
 
// -- Inclusion du fichier Util.php
require_once("./librairies/util.inc.php");
 
// -- Récupération des données
@$login = $_POST['for_login'];
@$pass  = $_POST['for_pass'];	
 
// -- Affectation de variables
	// -- Pour l'affichage de l'heure de la connexion
	$heure = date('G');
	$minute = date('i');
 
// -- Vérification des données de l'utilisateur
$obj_user = new User();
$tab_user = $obj_user->controle_pass($login,$pass);
$ligne_user = $obj_user->bd->objetSuivant($tab_user); 
 
// -- Test si un user a été trouvé
	// -- Si Oui: Alors on démarre une session
	// -- Si Non: On affiche un message d'interdiction
if ($ligne_user->id_user != "")
{
	// -- Variable de sessions
	$_SESSION['login'] = $login;
	$_SESSION['pass']  = $pass;
	$_SESSION['heure'] = $heure;
	$_SESSION['minute'] = $minute;
 
	// -- Redirection automatique de l'utilisateur vers le menu administration
  echo "<script language=\"JavaScript\"> document.location.href='index.php?page=6';</script>" ;
 
} else
{
    echo 'Vous n\'avez pas les accès à cette page!';
}
?>
bon je travaille avec des classes, mais tu peux changé par du classique
__________________
Citation:
"Qu'est-ce qui est venu le premier à la vie? Le compilateur ou le code source"
frutix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 08h53   #8
Débutant
 
Avatar de koKoTis
 
Inscription : août 2006
Messages : 3 196
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 196
Points : 1 673
Points : 1 673
Bonjour et merci beaucoup

Ou sont stoker le mot de passe et le login ?
koKoTis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 09h21   #9
Membre du Club
 
Inscription : novembre 2003
Messages : 174
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Suisse

Informations forums :
Inscription : novembre 2003
Messages : 174
Points : 45
Points : 45
Envoyer un message via MSN à frutix
Citation:
Envoyé par koKoTis Voir le message
Bonjour et merci beaucoup

Ou sont stoker le mot de passe et le login ?
Dans une base de donnée. Ce qui me permet de faire une gestion des utilisateurs.
__________________
Citation:
"Qu'est-ce qui est venu le premier à la vie? Le compilateur ou le code source"
frutix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 09h25   #10
Débutant
 
Avatar de koKoTis
 
Inscription : août 2006
Messages : 3 196
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 196
Points : 1 673
Points : 1 673
alor le script n'est pas complet, et il me faudrai la requette pour créer les tables avec un utilisateur
koKoTis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 13h15   #11
Membre du Club
 
Inscription : novembre 2003
Messages : 174
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Suisse

Informations forums :
Inscription : novembre 2003
Messages : 174
Points : 45
Points : 45
Envoyer un message via MSN à frutix
Citation:
Envoyé par koKoTis Voir le message
alor le script n'est pas complet, et il me faudrai la requette pour créer les tables avec un utilisateur
Ah ben le script n'est pas complet, mais je vais pas copier/coller tout mon site internet.

J'ai montré ces deux scripts car (avec les commentaires), tu peux trouver un structure pour ton code.
__________________
Citation:
"Qu'est-ce qui est venu le premier à la vie? Le compilateur ou le code source"
frutix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 13h16   #12
Débutant
 
Avatar de koKoTis
 
Inscription : août 2006
Messages : 3 196
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 196
Points : 1 673
Points : 1 673
je suis trop débutant pour çà
koKoTis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 17h39   #13
Rédacteur/Modérateur
 
Avatar de 12monkeys
 
Homme Dr. Peters
Webmaster
Inscription : novembre 2006
Messages : 3 630
Détails du profil
Informations personnelles :
Nom : Homme Dr. Peters
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : novembre 2006
Messages : 3 630
Points : 6 232
Points : 6 232
Bonjour

En essayant ceci ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
session_start();
 
$vrPasswordLunnatick = $_POST['password_session_lunnatick'];
 
$_SESSION['lunnatick_session'] = $vrPasswordLunnatick;
 
 
 if ($_SESSION['lunnatick_session'] == "admin")
  {
 
   $vrPasswordLunnatick = "nul";
 
   header('Location: http://mon_site/ma_page_de_redirection.php');
 
  } 
 
 else
  die('Erreur');
?>
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS
Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
Votez pour les messages qui vous ont aidés...
12monkeys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 17h41   #14
Débutant
 
Avatar de koKoTis
 
Inscription : août 2006
Messages : 3 196
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 196
Points : 1 673
Points : 1 673
c'est n'est pas une redirection qu'il me faut mais un includ
koKoTis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 17h48   #15
Rédacteur/Modérateur
 
Avatar de 12monkeys
 
Homme Dr. Peters
Webmaster
Inscription : novembre 2006
Messages : 3 630
Détails du profil
Informations personnelles :
Nom : Homme Dr. Peters
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : novembre 2006
Messages : 3 630
Points : 6 232
Points : 6 232
Ta question :

Citation:
Envoyé par koKoTis Voir le message
L'ennui c'est qu'aprés naviguation si je revien en arriére dans l'historique je post et toujour enregistre, j'ai tenter de vider la variable du mot de passe mais ca ne marche pas le post rest actif, que faire ?
La solution qu'on te propose :

__________________
Vous débutez dans la creation de sites web : les bases du html et débuter avec les CSS
Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
Votez pour les messages qui vous ont aidés...
12monkeys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 17h49   #16
Débutant
 
Avatar de koKoTis
 
Inscription : août 2006
Messages : 3 196
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 196
Points : 1 673
Points : 1 673
J'essarai alors
koKoTis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h50.


 
 
 
 
Partenaires

Hébergement Web