Bonjour � tous,
Je commence le d�veloppement d'un site perso, en php5, dans lequel se trouve un formulaire de login/mot de passe pour acc�der � certaines parties du contenu.
Afin de s�curiser l'appli, j'utilise les sessions (sessions avec base de donn�es). Pour cela, j'ai cr�� une classe Session... le probl�me arrive
Cette classe session contient donc un constructeur, et diff�rentes m�thodes, notamment une m�thode g�n�rant le formulaire d'identification, et une m�thode (nomm�e controleAccess) v�rifiant si l'utilisateur est d�j� connect�, si la session est valide etc etc...
Comme vous le savez s�rement d�j�, tout session_start doit �tre effectu� en haut de page.
Sur ma page index.php, tout en haut j'ai donc :
<?php
require_once("./class/session/database_session.class.php");
$session = database_session::getInstance(); // instancie la session, et notamment ex�cute le fameux sesssion_start(); ?>
Au milieu de cette m�me page, j'ai ensuite le formulaire de connexion (qui se trouve en fait dans une page nomm�e login_form.php:
<div id="access_form">
<?php require_once("login_form.php"); ?>
</div>
Dans cette page login_form.php, j'appel la m�thode controleAccess via $session->controleAccess(...).
Au chargement de la page, aucun probl�me avec l'appel de cette m�thode car l'objet session est bien instanci� au d�but de la page.
Le probl�me c'est que j'aimerai utiliser de l'ajax pour le traitement du formulaire. Je fais donc un truc du genre Onsubmit = traitement du formulaire et rafraichissement uniquement du <div id="access_form">. Dans ce cas, avec ajax, apres le OnSubmit, seul le fichier login_form.php est �x�cut�, et l� GROS PROBLEME: il me dit que j'appel une m�thode sur un non objet (normal puisque l'instanciation de l'objet n'est pas la).
Y'a t il une solution � ce probl�me? (le fait que l'on r� execute une page php dans lequel une m�thode d'une classe est appel� sur un objet instanci� ailleur que dans cette m�me page)
Pour info, je sais qu'une solution pourrait �tre d'utiliser des m�thodes statics, et donc dans login_form.php j'appel ma m�thode en static mais je trouve pas �a terrible, donc si y'a mieux, ce serait avec grand plaisir.
Je vous remercie d'avance de votre aide.
A+
Partager