impossible de récupérer variable de session depuis une page frame
Dernière réponse : dans Programmation
bonjour à tous,
pour info: je tourne avec php5,apache 2 ,linux64bit
mon problème:je n' arrive pas à récuperer mes variables de session dans une page avec deux frames qui font appel toute les deux à un fichier php!!
explication des fichiers utilisés en simplifiant le code pour atteindre le but recherché:
les fichiers permettent d' interfacer un petit chat donc :
fichier index.html qui permet d' enregistrer par l' intermediaire d' 1 FORM method POST les utilisateurs et mot de pass
fichier logindatabase.php qui recoit les variables du fichier 1 et verifie dans la base de donnée, si ok alors démarrer une session et excécuter le fichier :
main.php qui est la page qui contient les frames. Ces frames contiennent les deux fichiers.php qui ont pour but :
1er fichier refresh.php de la 1er frame Afficher message
2eme fichier post.php de la 2eme frame saisie des messages
c' est à partir d' ici que le problème de mes variable de session commence, les variable de la session n' existe plus apparement lors de l' éxécution des fichiers sources de chaque frame
alors j ai essayé plein de truc vu que j ai un bouquin php genre :
meme en passant dans le fichier de configuration php la variable global session un truc comme ca à on et bien rien
meme avec session_register(); rien non plus
meme avec le nomage et l' utilisation $_session("login")=$login;
voila donc j ai l' impression que je perds la session lorsque je demande au script du fichier login.php d' exécuter le fichier main.php qui affiche la page avec les frames, qui eux meme font appel à un fichier.php dans lequel je veus récuperer mes variables php.
pour info qui nous interesse dans le script : login.php
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
extract($_POST);
session_start();
$_session["login"] = $login;
SESSION_REGISTER("login"); pour cette instruction je ne veus pas rester en global_session on, c' était pour tester
die("<META HTTP-equiv='refresh' content='0;URL=main.php'>");exit;
je dois utiliser cette instruction pour faire appel au fichier
sinon avec l' instruction include ca ne marche pas (page blanche) d' ailleur je me demande si c' est pas la le probleme et si il y a une solution pour ca aussi
bon jusque la mes variable existe!!!!! et ca marche mais après l' ouverture du chat donc frame.php echo session_id() me renvoit lors des test rien
et dans les autre fichier php j' utilise session_start();
derniere infos ce problème n' existe plus des lors que le fichier index.html et login.php qui recoit les variables du formulaire est executé à l' interieur de la page qui contient les frames donc en fait la premiere page qui s' ouvre est la page avec les frames et les autres fichiers sont executé à l' interieur de celle ci mais pour des raison d' hestétique ca ne va pas!!
voila si quelqu' un à une idée de genie parcque la je sèche et d' ailleur je comprend pas trop pourquoi meme avec session_register et global_session à on ca ne marche pas !!
merci d' avance pour les réponse @bientôt!!
pour info: je tourne avec php5,apache 2 ,linux64bit
mon problème:je n' arrive pas à récuperer mes variables de session dans une page avec deux frames qui font appel toute les deux à un fichier php!!
explication des fichiers utilisés en simplifiant le code pour atteindre le but recherché:
les fichiers permettent d' interfacer un petit chat donc :
fichier index.html qui permet d' enregistrer par l' intermediaire d' 1 FORM method POST les utilisateurs et mot de pass
fichier logindatabase.php qui recoit les variables du fichier 1 et verifie dans la base de donnée, si ok alors démarrer une session et excécuter le fichier :
main.php qui est la page qui contient les frames. Ces frames contiennent les deux fichiers.php qui ont pour but :
1er fichier refresh.php de la 1er frame Afficher message
2eme fichier post.php de la 2eme frame saisie des messages
c' est à partir d' ici que le problème de mes variable de session commence, les variable de la session n' existe plus apparement lors de l' éxécution des fichiers sources de chaque frame
alors j ai essayé plein de truc vu que j ai un bouquin php genre :
meme en passant dans le fichier de configuration php la variable global session un truc comme ca à on et bien rien
meme avec session_register(); rien non plus
meme avec le nomage et l' utilisation $_session("login")=$login;
voila donc j ai l' impression que je perds la session lorsque je demande au script du fichier login.php d' exécuter le fichier main.php qui affiche la page avec les frames, qui eux meme font appel à un fichier.php dans lequel je veus récuperer mes variables php.
pour info qui nous interesse dans le script : login.php
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
extract($_POST);
session_start();
$_session["login"] = $login;
SESSION_REGISTER("login"); pour cette instruction je ne veus pas rester en global_session on, c' était pour tester
die("<META HTTP-equiv='refresh' content='0;URL=main.php'>");exit;
je dois utiliser cette instruction pour faire appel au fichier
sinon avec l' instruction include ca ne marche pas (page blanche) d' ailleur je me demande si c' est pas la le probleme et si il y a une solution pour ca aussi
bon jusque la mes variable existe!!!!! et ca marche mais après l' ouverture du chat donc frame.php echo session_id() me renvoit lors des test rien
et dans les autre fichier php j' utilise session_start();
derniere infos ce problème n' existe plus des lors que le fichier index.html et login.php qui recoit les variables du formulaire est executé à l' interieur de la page qui contient les frames donc en fait la premiere page qui s' ouvre est la page avec les frames et les autres fichiers sont executé à l' interieur de celle ci mais pour des raison d' hestétique ca ne va pas!!
voila si quelqu' un à une idée de genie parcque la je sèche et d' ailleur je comprend pas trop pourquoi meme avec session_register et global_session à on ca ne marche pas !!
merci d' avance pour les réponse @bientôt!!
Autres pages sur : impossible recuperer variable session page frame
Lassé par la pub ? Créez un compte
slt et merci beaucoup pour le coup d' oeil
je le redis encore ca fonctionnait très bien quand j' utilisais que des includes et quand je ne chargait pas de nouvelle page avec frame donc..... mais pour des raisons esthétique et de fonctionnement je veus utiliser cette arboréscence
j ai eus le meme problème lorsque jai voulu récuperer des variables depuis une nouvelle fenetre ouvetre avec la fonction window.open..... la aussi après plus de variable ..
donc mon but obtenir la variable de session lors de l' exécution des fichiers post.php skin.php et cUsers.php
Fichier login.php
(je met juste le code util c.à.d jusqu'au démmarrage session et execution du fichier main.php qui affiche ma page de frames
***********************************************************************************************************************************
**************************************************************************************************************************************
fichier main.php
Fichier charger d' afficher les frames et les fichiers sources des frames:
*************************************************************************************************************************************
et les deux fichiers refresh.php et post.php la ou je perds mes variable de session à première vue
le fichier refresh.php qui est chargé d' afficher les messages ne se sert pas des variable pour l' instant donc lui ca va pour le moment mais peut etre que par la suite j' en aurait aussi besoin ici de ces variable de session
fichier refresh.php
***************************************************************************************************************************************
fichier post.php
(chargé de récuperer les variables $msg et $login et d' enregistrer le message dans un fichier texte)
************************************************************************************************************************************
le fichier skin.html
Le fichier chargé d' afficher la zone de saisie et d' envoyer par la méthode POST les variables dans le fichier post.php
*************************************************************************************************************************************
fichier cUser.php
qui lui aussi doit récuperer la variable login de session pour l' instant mais peut etre plus par la suite et la aussi pas moyen
je le redis encore ca fonctionnait très bien quand j' utilisais que des includes et quand je ne chargait pas de nouvelle page avec frame donc..... mais pour des raisons esthétique et de fonctionnement je veus utiliser cette arboréscence
j ai eus le meme problème lorsque jai voulu récuperer des variables depuis une nouvelle fenetre ouvetre avec la fonction window.open..... la aussi après plus de variable ..
donc mon but obtenir la variable de session lors de l' exécution des fichiers post.php skin.php et cUsers.php
$login
Fichier login.php
(je met juste le code util c.à.d jusqu'au démmarrage session et execution du fichier main.php qui affiche ma page de frames
***********************************************************************************************************************************
<?
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
extract($_POST);
session_start();
$_session['login'] = $login;
session_register('login');[color=#0000ff]// bon cette foction normalement n' y est pas mais comme ca [/color] [color=#0000ff]//fonctionnait pas j' ai voulu essayer de les enregistrer [/color]
die("<META HTTP-equiv='refresh' content='0;URL=main.php'>");
exit;
[color=#0000ff][#0000ff]//include('main.php'); cette fonction ne veus pas me charger la page de frame du coup j' utilise die....
// On inclut le formulaire d'identification[/color][/#0000ff]
}
**************************************************************************************************************************************
fichier main.php
Fichier charger d' afficher les frames et les fichiers sources des frames:
<html>
<head>
<frameset rows="*,50%,10%" noresize >
<frameset cols="*,150" noresize>
<frame name="fra_messages" id="fra_messages" src="refresh.php3" noresize scrolling="auto">
<frame name="fra_users" id="fra_users" src="cUsers.php" noresize scrolling="auto">
</frameset>
<frame name="fra_saisie" id="fra_saisie" src="post.php3" noresize scrolling="auto">
</frameset>
*************************************************************************************************************************************
et les deux fichiers refresh.php et post.php la ou je perds mes variable de session à première vue
le fichier refresh.php qui est chargé d' afficher les messages ne se sert pas des variable pour l' instant donc lui ca va pour le moment mais peut etre que par la suite j' en aurait aussi besoin ici de ces variable de session
fichier refresh.php
// code pour afficher le texte
<?php include("repmessages/messages.txt"); ?>
***************************************************************************************************************************************
fichier post.php
(chargé de récuperer les variables $msg et $login et d' enregistrer le message dans un fichier texte)
<?php
session_start();
$msc = $_POST['msg'];
/*La récupe de cette variable fonctionne très bien vu que le fichier qui la POST et qui se nome skin.html est exécuté dans la frame ou en tout cas il est inclus par lafonction include en fin de ce script donc no problem la variable existe!! */
$namec = $_POST['login'];/*pour cette variable pas moyen de la récupérer,elle provient aussi du fichier skin.html
include("skin.html");*/
?>
************************************************************************************************************************************
le fichier skin.html
Le fichier chargé d' afficher la zone de saisie et d' envoyer par la méthode POST les variables dans le fichier post.php
<form name="send" method="post" target="fra_saisie" id="fra_saisie" action="post.php3">
<input type="hidden" name="[color=#ff0e00]login[/color]" value="[color=#ff0e00]<?php echo FilterText($namec); ?>[/color]">
<table width="100%" border="1" bordercolor="#000099" bordercolorlight="#0000CC" bordercolordark="#000066" bgcolor="#000F22" cellpadding="0" cellspacing="0">
<tr bordercolor="#000099"><td align="center"><input type="text" name="[color=#ff0e00]msg[/color]" size="100"><script language="JavaScript">[color=#ff0e00]document.send.msg.focus()[/color];</script></td></tr>
</table>
</form>
*************************************************************************************************************************************
fichier cUser.php
qui lui aussi doit récuperer la variable login de session pour l' instant mais peut etre plus par la suite et la aussi pas moyen
<?
session_start();
<? if (!(file_exists("datas/" . $login))) { ?>
<script language="javascript">
alert("Vous avez été��déconnecté� merci de bien vouloir vous reconnecter.");
parent.close();
</script>
<? } ?>
oui je me rappelle plus très bien parcque j ai fais pas mal d' essai mais j ai testé en maj parcque dans mon bouquin de php eux il mette $_SESSION en majuscule alors va comprendre et d' ailleurs meme pour $namec = $_POST['login']; eux il mettent $namec = $_POST["ogin"]; alors la aussi je comprends pas bon voila
bon voila j ai edité le code je m' excuse encore pour ce message un peu brouillon.
et puis pour la casse j' était au courant malgré mes connaissances restreintes en programmation ,mais il faut dire qu' il y a matière à réfléchir surtout quand on se trouve devant un problème et qu' on se dit qu' un bouquin sur php va nous etre util et que tout le long du tom les s_session et bien d' autre sont en majuscule j' ai vérifié comme pour la syntaxe genre $_SESSION["login"]; avec de guillemet au lieu des aprostrophes, alors forcément après on ne sait plus quoi écrire et on ne sait même pas si ca fonctionne et qui dit la vérité en tout cas pas ce bouquin puisque ca marche pas!!
et puis pour la casse j' était au courant malgré mes connaissances restreintes en programmation ,mais il faut dire qu' il y a matière à réfléchir surtout quand on se trouve devant un problème et qu' on se dit qu' un bouquin sur php va nous etre util et que tout le long du tom les s_session et bien d' autre sont en majuscule j' ai vérifié comme pour la syntaxe genre $_SESSION["login"]; avec de guillemet au lieu des aprostrophes, alors forcément après on ne sait plus quoi écrire et on ne sait même pas si ca fonctionne et qui dit la vérité en tout cas pas ce bouquin puisque ca marche pas!!
pour simplifier mon problème
si on créer un premier script php dans lequel on démarre une session et que l' on déclare une variable $login que l' on affiche ensuite fin de script
ensuite on fait un deuxième script qui n' a aucun lien avec le premier et qui sera excecuté séparément, dans ce sript on demande de rouvrir la session, et d afficher la variable ce qui est possible avec $_session['login'] .
si on excécute le premier fichier il affiche la variable on ferme tout,et en suite on exécute le 2em fichier normalement il doit la aussi récuperer la variable ?
sinon a quoi sert cette fonction de réouverture de session ?
et moi j ai l' impression que ca, ca ne fonctionne pas d'ailleurs le session_register() devrait lui aussi enregistrer en dur les variables et pourtant j ai essayé rien pas moyen des que je sorts du script principal plus de variable!!!
test simple
bon voila je viens de faire le test avec les deux fichiers
fichier 1
ce qui m' affiche coucoucoucou
Je ferme tout et je lance le 2eme fichier
rien ne s' affiche donc la session qui soit disant est enregistré en mémoire ou en dur jsais pas trop elle est ou?
si on créer un premier script php dans lequel on démarre une session et que l' on déclare une variable $login que l' on affiche ensuite fin de script
ensuite on fait un deuxième script qui n' a aucun lien avec le premier et qui sera excecuté séparément, dans ce sript on demande de rouvrir la session, et d afficher la variable ce qui est possible avec $_session['login'] .
si on excécute le premier fichier il affiche la variable on ferme tout,et en suite on exécute le 2em fichier normalement il doit la aussi récuperer la variable ?
sinon a quoi sert cette fonction de réouverture de session ?
et moi j ai l' impression que ca, ca ne fonctionne pas d'ailleurs le session_register() devrait lui aussi enregistrer en dur les variables et pourtant j ai essayé rien pas moyen des que je sorts du script principal plus de variable!!!
test simple
bon voila je viens de faire le test avec les deux fichiers
fichier 1
<?
session_start();
$login="coucou";
$_session['login'] = $login;
echo $login ;
echo $_session['login'];
session_register('login');
?>
ce qui m' affiche coucoucoucou
Je ferme tout et je lance le 2eme fichier
<?
session_start('login');
$login1=$_session['login'];
echo $login1;
echo $_session['login'];
echo $login;
?>
rien ne s' affiche donc la session qui soit disant est enregistré en mémoire ou en dur jsais pas trop elle est ou?
bon ca yes alors c' était bien une erreur de case :
donc c' est bien en fait :
$_SESSION['login'] en majuscule comme dans ce tom autant pour moi mais ce qui m' as induit en erreur depuis le départ c que j' avais récuperer un script de chat qui à premiere vue fonctionnait puisque tout les fichier étaient include les un dans les autres donc du coup je ne perdais pas mes variables récupérées avec la méthode POST donc je ne sortais pas du script initial je pense, mais en fait la fonction $_session['login'] ne fonctionnais pas pfffffffffff
enfin je suis ravis que ca fonctionne j' ai refait le test des deux fichiers et c' est bon
merci d' avoir insisté pour la casse c' est vrai que je pigeais plus vraiment, le résultat est la
@bientôt
donc c' est bien en fait :
$_SESSION['login'] en majuscule comme dans ce tom autant pour moi mais ce qui m' as induit en erreur depuis le départ c que j' avais récuperer un script de chat qui à premiere vue fonctionnait puisque tout les fichier étaient include les un dans les autres donc du coup je ne perdais pas mes variables récupérées avec la méthode POST donc je ne sortais pas du script initial je pense, mais en fait la fonction $_session['login'] ne fonctionnais pas pfffffffffff
enfin je suis ravis que ca fonctionne j' ai refait le test des deux fichiers et c' est bon
merci d' avoir insisté pour la casse c' est vrai que je pigeais plus vraiment, le résultat est la
@bientôt
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumIframe variable de session
- ForumProb de variable de session
- ForumVariable session
- ForumPhp variable session dans iframe
- ForumAsp variable de session dans un if
- ForumFermeture de session page bleue
- ForumRã cuperer une variable de session en javascript
- ForumAlert javascript variable session
- ForumJavascript rã cupã rer variable de session
- ForumRécupérer variable userform
- Voir plus