OVH Community, votre nouvel espace communautaire.

$_SESSION['user']


ddavid
18/05/2012, 08h11
Oui, je m'en doute un peu

Si je le précise, c'est surtout parce que la faute a été commise plusieurs fois et que tu sembles plus l'avoir reprise que commise au départ...

(Ceci étant dit, la faute de départ n'étant pas dans le code source en balise CODE et vu les echos comme quoi le code semble fonctionner, par chance il est fort probable que le code et les fichiers soient en cohérence de ce côté.)

Gaston_Phone
18/05/2012, 06h53
Citation Envoyé par ddavid
Mais "Fichier" et "fichier", ce n'est absolument pas la même chose en général, puisque les noms de fichier sont sensibles à la casse (usage des minuscules et majuscules), sauf exceptions.
Il s'agissait d'une faute de frappe.
Bien sûr que sous UNIX les fichiers sont sensibles aux MAJUSCULES/minuscules.

ddavid
18/05/2012, 06h27
Citation Envoyé par Gaston_Phone
En langage UNIX "./Identification.php" et "identification.php" sont équivalents.
En langage UNIX ???

Pour désigner un fichier sous unix/linux "./fichier", signifie fichier dans le répertoire courant, et "fichier" aussi, dans la plupart des cas (sauf quand intervient la notion de PATH, par exemple lorsque "fichier" figure au début d'une ligne de commande...).

Mais "Fichier" et "fichier", ce n'est absolument pas la même chose en général, puisque les noms de fichier sont sensibles à la casse (usage des minuscules et majuscules), sauf exceptions.

Sinon je suppose que pour le reste, tout s'est arrangé

Overrider
10/05/2012, 14h09
Génial ! Merci Alex.P, c'est juste ton serialize et ton unserialize qui manquait... C'est trop bien ça marche !

Alex.P
10/05/2012, 09h44
Essais quelque chose comme :

Code PHP:
//SET la session
$_SESSION['user'] = serialize($user); 
Code PHP:
//Get la session
$user unserialize($_SESSION['user']); 
Alex.P

cassiopee
10/05/2012, 09h42
Est-ce que la ligne :

Code:
$_SESSION['user'] = $user;
dans "identification.php" fonctionne normalement ?

Autrement dit, y a-t'il bien une valeur dans "$user" à ce moment là ?

Overrider
10/05/2012, 09h07
Effectivement, cela ne me change rien... Et sinon, une idée pour mon problème de SESSION ?

Gaston_Phone
10/05/2012, 08h28
Citation Envoyé par Nowwhat
Ta page de connexion marque:
./Identification.php
mais juste après tu nomme ce fichier:
identification.php
En langage UNIX "./identification.php" et "identification.php" sont équivalents.

Nowwhat
10/05/2012, 08h19
Ta page de connexion marque:
./Identification.php
mais juste après tu nomme ce fichier:
identification.php

Volontaire ?

Overrider
10/05/2012, 08h13
Citation Envoyé par Gaston_Phone
Que ton truc est compliqué
Je sais... Mais je debute, c'est le premier site que je fait, et j'admet ne pas encore avoir eu le temps d'explorer toutes les possibilité du PHP... Ce qui est sûr c'est que je note ton info et je vais la retranscrire dans mon code... Merci

Gaston_Phone
10/05/2012, 06h12
Que ton truc est compliqué :
Code PHP:
//Récupération de l'utilisateur connecté dans la session pour le connaitre jusqu'au bout
$_SESSION['user'] = $user;
//Entête de redirection
echo '

'

Pourquoi ne pas faire :
Code PHP:
//Récupération de l'utlisateur connecté dans la session pour le connaitre jusqu'au bout
$_SESSION['user'] = $user;
include 
"Connecte.php5"

Overrider
09/05/2012, 23h19
Bonjour à tous, je suis en train de mettre un site en ligne sur OVH... Et j'ai un souci de SESSION...
J'ai mis un session_start() en début de chaque page et oui sans espace et sans texte avant (vérifier avec le logiciel "Clean_PHP_File" au cas où du texte invisible se serait invité...).

Pour se connecter, j'ai une page de connexion dont le code est :


Login :



Password :





Cela nous ramene à la page identification.php dont le code est :
require_once "class.user.php";

$login = $_POST['login'];
$password = $_POST['password'];

$user = user::identification($login, $password);

if($user == false)
{
echo '';
}
else
{
//Récupération de l'utlisateur connecté dans la session pour le connaitre jusqu'au bout
$_SESSION['user'] = $user;
//Entête de redirection
echo '';
}
La fonction identification indiquée en début de la page "identification.php" à pour code :
Static public function identification ($ilogin, $ipassword)
{
//Connection à la BD
mysql_connect('localhost', 'nomuser', 'motdepass');
or die('Connection à la Base de Données impossible, veuillez réessayer ultérieurement');

//Séléction de la base de données
mysql_select_db('nomtable');
or die ("erreur de connexion à la table");

//Vérification de l'utilisateur
$sql = "SELECT ID FROM utilisateurs WHERE login = \"" . mysql_real_escape_string($ilogin) . "\" And password = \"".md5($ipassword)."\"";

//Exécution de la requète sql que l'on vient d'écrire
$query = mysql_query($sql);
//Vérification du nombre de résultats (lignes sélectionnées)
$nb_result = mysql_num_rows($query);

//Création d'un objet pour recup les infos utilisateur
if($nb_result == 1)
{
$user = new self; //Je crée un objet qui est moi-même
$user->id = mysql_result($query, 0, 'id'); //Regarde le résultat de la ligne 0 de la requete query et renvoie l'id
$user->login = $ilogin;

return $user;
}
else
{
return false;
}

//Fermeture de la connection à la base pour éviter tout probleme d'appel
mysql_close();
}
Alors jusque là pas de souci, mais quand j'arrive sur ma page qui indique à l'utilisateur qu'il est connecté, impossible de récupérer la variable "$_SESSION['user']", il n'écrit rien... :-/ Le code de cette dernière est :
$user = $_SESSION['user'];
echo '

Bienvenue '.$user->login.', accès à la page d\'administration du site ici.

';
Quelqu'un peut-il éclairer ma lanterne de novice afin de comprendre pourquoi je ne récupère pas ma variable dans ma dernière page ? svp

PS : Je précise que ce code fonctionne parfaitement sur mon serveur XAMPP local... En clair je ne comprend pas pourquoi ça ne marche pas sur OVH qui est sensé n'avoir aucun souci de SESSION...???