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 21/08/2007, 13h13   #1
Invité de passage
 
Inscription : août 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 25
Points : 4
Points : 4
Par défaut [Cookies] Problème conservation de valeur

Bonjour ,

Mon problem que que quand je met mes pages sur mon ftp , les sessions ne dure que le temp qu'une page alors qu'en local , tous fonctionne normalement , mon ftp et free , donc je voudrais savoir quoi faire , si c'est du a free ou a mon scipt :/ voici mes pages si cela peut vous aider ...

index.php :

Code :
1
2
3
4
5
6
7
<?php
@session_start();
require('config.php');
include('Block/Haut_design.php');
require('modules.php');
include('Block/Bas_design.php');
?>
connection.php :

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
<?php
if (isset($_SESSION['connect']) && $_SESSION['connect'] == 1 && isset($_SESSION['pseudo']))
{
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	echo ' 
	<h1>Bonjour , '.$_SESSION['pseudo'].'  
	<a href="index.php?file=logout">Logout</a> - 
	<a href="index.php?file=myprofil">myprofil</a> - 
	</h1>';	// on dit bonjour a la personne connecter 
	if ($_SESSION['admin'] == "oui")
	{
	echo '<h1><a href="index.php?file=Admin">administration</a> - ';
	}
	}
	else // sinon on se demande de se connecter
	{
	echo '
	<form method="post" action="modules/User/verif_connection.php">	
	<span class="myprofil">Pseudo : 
	<input name="pseudo" type="text" id="pseudo" />
	Password : 
	<input name="mdp" type="password" id="mdp" />
	<input type="submit" value="ok" />
	<a href="index.php?file=lost_pass">Lost password ?</a> / 
	<a href="index.php?file=registrer">registrer</a>
	</span>
		</form>
	';
	}
?>
verif_connection.php :

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
43
44
45
46
47
48
49
50
<?php
@session_start();
include('../../config.php');
if(isset($_POST['pseudo']) AND isset($_POST['mdp']))
{
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$mdp = mysql_real_escape_string(htmlspecialchars($_POST['mdp']));
}
if(!$pseudo)
	{
			echo ' <SCRIPT LANGUAGE="JavaScript">
alert("Pseudo manquant !  ! ")
document.location.href="../../index.php" </SCRIPT>';
	}
if(!$mdp)
	{
	$mdpok = FALSE ;
			echo ' <SCRIPT LANGUAGE="JavaScript">
alert("Mot de passe incorrect ! ")
document.location.href="../../index.php" </SCRIPT>';
	}
	if ($pseudo != null && $mdp !=null)
	{
$query = "SELECT * FROM `membres` WHERE `pseudo` = '$pseudo' LIMIT 1";
$resultat = mysql_query($query) or die(mysql_error()); 
$donnees = mysql_fetch_array($resultat);
}
if ($donnees['pseudo'] == $pseudo && $donnees['pass'] == $mdp)
	{
	$_SESSION['pseudo'] = $donnees['pseudo'] ;
	$_SESSION['connect'] = "1" ;
	if ($donnees['admin'] == "oui")
	{
	$_SESSION['admin'] = "oui";
	}
	else 
	{
		$_SESSION['admin'] = "non";
	}
	echo ' <SCRIPT LANGUAGE="JavaScript">
alert("Connection réussi ! ")
document.location.href="../../index.php" </SCRIPT>';
	}
else
	{
	echo ' <SCRIPT LANGUAGE="JavaScript">
alert("Le pseudo et/ou le mot de passe ne sont pas correct . ")
document.location.href="../../index.php" </SCRIPT>';
}
?>
nitteN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2007, 13h49   #2
Débutant
 
Avatar de afrodje
 
Homme Jérémy
Développeur Web
Inscription : octobre 2006
Messages : 1 094
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 1 094
Points : 614
Points : 614
Le temps d'une session est parametrable dans le php.ini de ton serveur.
Là, en l'occurrence, le serveur est free.
Je ne peux pas te dire comment le modifier
Attendons l'avis d'un expert !
__________________
Évènements dans le 06?
www.sortir06.com
afrodje est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2007, 14h11   #3
Invité de passage
 
Inscription : août 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 25
Points : 4
Points : 4
ok , merçi ,je vais attendre ^^
nitteN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 00h58   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Si vous enlevez l'arobase devant session_start vous en obtiendrez la cause ! Qui se révèlera probablement être l'absence du répertoire sessions à la racine de votre espace.

FAQ Cas particulier de l'hébergeur FREE.FR
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 15h04   #5
Invité de passage
 
Inscription : août 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 25
Points : 4
Points : 4
Le dossier "sessions" a été créé a la racine de mon ftp :/ , cela peut peut etre venir de mon script ? mais alors je ne comprend pas pourquoi il fonctionnerais en local :/ ( et en enlevent le "@" aucun message d'erreur n'apparais :/ )
nitteN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 15h16   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Gardez l'arobase retirée devant vos session_start et faites précéder cet appel de error_reporting(E_ALL) au cas où.

D'autre part, acceptez-vous bien les cookies (pour ce site tout du moins) ? Le cookie pour la session est-il créé ? Votre identifiant de session reste-t-il le même (echo session_id(); après session_start) ? Que donne un dump de la session (var_dump($_SESSION);) ?
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 16h53   #7
Invité de passage
 
Inscription : août 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 25
Points : 4
Points : 4
Voila j'ai rajouter ce que vous m'aviez donner et j'obitent sa : array(3) { ["pseudo"]=> &string(6) "nitteN" ["connect"]=> &string(1) "1" ["admin"]=> &string(3) "oui" } 3ed17292826a53f5141d5c58789b48d7

, et oui j'accepte les cookie , car chez un ami qui programme en php cela lui fait la même chose :/ ..

Merçi pour ta reponse
nitteN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 17h15   #8
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Elle ne dure pas qu'une page alors si vous retrouvez vos variables. Par contre vous n'auriez pas oublié des session_start comme sur connection.php ?
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 17h18   #9
Invité de passage
 
Inscription : août 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 25
Points : 4
Points : 4
Non la page connection.php est include dans la page index ( ou il y a un session_start ) et il y en a un sur verif_connection ... :/ mais ce que je comprend pas c'ets pourquoi cela marche en local et non sur un ftp ?

et quand eje change de page les messages changent il n'y a plus de pseudo enfin la valeur de $_SESSION['pseudo'] et nulls

array(3) { ["pseudo"]=> &string(0) "" ["connect"]=> &bool(true) ["admin"]=> &string(3) "oui" } 3ed17292826a53f5141d5c58789b48d7
nitteN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 18h18   #10
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par nitteN
Non la page connection.php est include dans la page index ( ou il y a un session_start ) et il y en a un sur verif_connection ... :/
Cette information n'apparaissait pas pour nous ...

Citation:
Envoyé par nitteN
mais ce que je comprend pas c'ets pourquoi cela marche en local et non sur un ftp ?
Si vous ne perdez que le pseudo c'est probablement dû à register_globals : une variable portant le même nom ira vous l'écraser. (comme dans verif_connection.php)
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 20h07   #11
Invité de passage
 
Inscription : août 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 25
Points : 4
Points : 4
Ok , et que faut-il que je fasse pour reglé ce problem ? :/

merçi encore pour avoir pris de ton temp pour mon probleme .
nitteN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 21h02   #12
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Vous avez le droit de mener vos investigations personnelles

Chez Free :
Extension .php PHP 4 avec register_globals à On
Extension .php5 PHP 5 avec register_globals à Off

Sinon vous essayez de changer le nom d'une des deux variables puisque chez Free vous ne pouvez pas changer la valeur de ce paramètre.
julp 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 14h10.


 
 
 
 
Partenaires

Hébergement Web