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 19/03/2007, 21h23   #1
Invité de passage
 
Inscription : juin 2002
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 2
Points : 1
Points : 1
Par défaut condition avec session

Bonjour

voila j'ai un probleme avec ma session mais surtout avec le fait de ne pas pouvoir verifier une condition a partir de celle ci. Je vous montre mon code source car je pense que ca sera plus lisible que mes expliquation ^^

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
42
 
<?php
include("variable.php");
 
$db_user = $user_mysql;
$db_pass = $pass_mysql;
 
$user_name = $_GET['user_name'];
$connection = mysql_connect('localhost', $db_user, $db_pass) or die(mysql_error());
mysql_select_db('utilisateur', $connection) or die(mysql_error());
 
	if(isset($_SESSION['compteur']) >= 1)
	{
 
		$refus = $_SESSION['compteur'] + 1;		
		$valeur= $refus;
 
		print(" $valeur ");
 
		if( $valeur >3)
		{
				$query= "UPDATE `membres` SET `id` = '' WHERE nom = 'user_name'";
				$result = mysql_query($query);
		}
		$_SESSION['compteur'] = $valeur;		
 
	}
	else
	{
 
		$valeur = 1;	
		Print (" valeur 1er cookie : $valeur ");
		/* Envoie du cookie */
		$_SESSION['compteur'] = $valeur;
 
 		echo 'La variable  existe et vaut: ' . $_SESSION['compteur'];
 
	}
 
 
 
?>
En clair ce qu'il devrait ce passer c'est:

L'utilisateur s'identifie ( sur la page precedente) je verif qu'il est bien dans ma base de donée, et si c'est pas le cas c'est la que ce script doit se lancer. Ca ca marche, maintenant afin d'eviter que la personne tente d'essayer plusieur mot de passe je veux limiter a trois tentative.
j'utilise donc ma session en cours pour faire incrementer un compteur.
Lrs de la 1ere visite de cette page pas de pb, je passe par "else", et la variable dans la session prend bien la valeur 1, mais apres ca j'aimerais verifier la condition suivante disant que si la variable contenue dans la session est >= 1, j'applique le code suivant.
Et la c'est le drame ca marche pas je ne rentre pas dans le if. J'ai pourtant regardé pas mal de tuto et ma syntaxe me semble bonne.

Merci de bien vouloir m'aider c'est tres urgent c'est un projet que je fait a la FAc et que je dois rendre mercredi :s
Mitsu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 22h30   #2
Membre expérimenté
 
Développeur Web
Inscription : avril 2006
Messages : 430
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 430
Points : 538
Points : 538
salut,
je ne vois aucun session_start() dans ce code... se trouverait-il dans variable.php ?
si non, alors c'est ca qu'il te manque.

de plus, rien à voir avec ton problème, mais le

Code :
1
2
3
4
 
if(isset($_SESSION['compteur']) >= 1) {
...
}
me semble bizarre, étant donné que isset ne va renvoyer que true ou false, soit 0 ou 1... donc quel est l'intéret de tester >= 1?

ceci me semble plus adéquat

Code :
1
2
3
4
 
if (isset($_SESSION['compteur']) && $_SESSION['compteur'] >= 1) { 
 ...
}
__________________
Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure
bkill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 22h31   #3
Membre chevronné
 
Avatar de |PaRa-BoL
 
Inscription : novembre 2003
Messages : 737
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 737
Points : 782
Points : 782
Ou est le session_start ?

Et
Code :
1
2
 
if(isset($_SESSION['compteur']) >= 1)
isset retourne true ou false donc :

Code :
1
2
 
if($_SESSION['compteur'] >= 1)
De plus ton code est relativement long pour quelque chose comme ca j'aurait plutot fait :

Code :
1
2
3
4
5
6
 
@$_SESSION['compteur']++;
 
if ($_SESSION['compte']) >= 3) {
     echo '3 erreurs !!!';
}
__________________
http://www.ape-project.org/
|PaRa-BoL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 00h47   #4
Invité de passage
 
Inscription : juin 2002
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 2
Points : 1
Points : 1
Mon session start est effectivement dans une autre page, en faite cette page je l'inclus dans une autre page.
Ensuite effectivement je suis confus, j'avais carrement pas compris que le isset revoyé une valeur booléen, et je me butté dessus :s

j'ai essayé avec
Code :
if($_SESSION['compteur'] >= 1)
et ca marche nikel, je tiens a vous remercier de votre aide en tout cas vous me sortez d'une belle impasse

PS : mon code source est surement tres lourd, mais en faites je suis pas developeur, mais dans les reseaux et telecomunication, donc pour moi le php c'est du nouveau, je l'ai appris au gres des divers tuto que j'ai put trouvé, en tres peu de temps :s
Mitsu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h49.


 
 
 
 
Partenaires

Hébergement Web