Probleme Session / popup et redirection

Probleme Session / popup et redirection - PHP - Programmation

Marsh Posté le 12-10-2011 à 16:40:12    

Bonjour à tous
 
Cela faisait un moment que je ne bloquais pas sur un sujet.
Alors je suis en phase final de mettre en production une application web, qui traite des dossier (information via formulaire client a remplir par l'internaute) et une partie administration privé pour le traitement des dossiers
Jusque l'à pas de soucis
 
Il n'y à pas de d'authentification pour les internautes c'est libre d'accès à tous, cependant les informations sont garder en mémoire via les variables de sessions pour permettre de naviguer dans les divers formulaire tous en conservant les informations.
 
Une fois que l'on valide le dossier pour l'enregistrement en base de donnée il se passe cela
 
- Une alerte javascript si le dossier à bien été créer
- Une nouvelle page (appeler en javascript) avec un recapitulatif des informations pour l'impression (et la boite de dialogue d'impression afficher)
- Et une fois le OK de l'alerte une rediction vers le site mère.
 
Seulement, la validation passe par une requete AJAX, et par mesure de sécurité une fois l'insertion en base de donnée je supprime / détruit les variables de session (car il y a des informations privée de l'internaute)
 
Seulement la fenetre récapitulative au moment de l'insertion en base de donnée et qui je rappel est appeler en javascript (window.open) se base elle sur les variable de session pour afficher le contenu
 
De se fait PAGE BLANCHE, en local pas de soucis car j'avais commnenter (pour les test) la suppression des session et j'avais oublier de les remettre (super :( )
 
Une fois l'appli héberger cela marche pas (le window.open) et oui firefox bloque les popup par defaut, je desactive l'option et la fenetre blanche logique les sessions sont détruite
 
Donc comment contourner cela
 
A savoir si je met la destruction des session sur la page PHP récapitulative (popup) cela permettrait de contourner le soucis, mais dans le cas ou le navigateur client n'affiche pas les popup et bien les session ne seront pas détruite.
 
Avez vous une idée de comment je pourrais contourner cela
 
 
J'ai pensé une fois l'insertion faite refaire une requete AJAX supprimant les session et ceux après l'affichage du récapitulatif mais c'est lourd a faire je veux dire qu'il faudra repasser par des phase de test qualif avant de remettre en production donc je garde la solution sous le coude mais y a t'il un moyen de forcer l'affichage window.open pourtant la dite fenetre en au dimension maximal de l'écran (donc comme une nouvelle page) et non pas un petit popup...
 
l'appel de la page en question
 

Code :
  1. window.open('ajx/dataPDF.php','_blank','toolbar=1, location=1, directories=1, status=1, scrollbars=1, resizable=1, copyhistory=1, menuBar=1');


 
Cela m'arrangerais si on pouvait forcer cela
 
Merci d'avance

Message cité 1 fois
Message édité par hyptnos le 12-10-2011 à 16:40:53
Reply

Marsh Posté le 12-10-2011 à 16:40:12   

Reply

Marsh Posté le 12-10-2011 à 17:20:05    

Infos sur les sessions en base et tu les détruis lors de la récap. Pour le cas où le popup est bloqué, tu rajoutes un script php qui tourne en tâche de fond (cron) et qui périodiquement fait le ménage dans la BD et donc dans le répertoire contenant les sessions. Histoire de pas supprimer une session active, tu penses à mettre la date de dernière activité sur la session. Si date/heure > à un délai (genre 20 mins), ça veut dire qu'il n'y a pas eu d'activité sur la session, donc, tu peux la supprimer ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 12-10-2011 à 18:10:36    

Hummm un peu trop lourd a mettre en place également sachant que j'ai pas la main sur le serveur d'hebergement ni sur la BDD a chaque fois que je passe par mail redonner tous les fichiers etc... c'est chiant d'ailleur et cela m'enerve plus qu'autre chose car c'est du temps de perdu :(
 
Sinon ce que tu propose convient pas a l'utilité de l'application car d'une script en CRON pas possible dans notre situation et comme dit pas la main sur le serveur  et info dans la bdd que l'on supprime ensuite ça va être le bordel deja que je trouve que le serveur est méchamment lent :-(
 
Je sens que je vais faire comme j'ai dis requete AJAX pour la suppression des sessions que je caserai juste avant la redirection vers le site mère
 
A moins qu'une autre personne a une autre idée
 
en tout cas je te remercie de te pencher sur le probleme :)

Reply

Marsh Posté le 12-10-2011 à 20:58:42    

hyptnos a écrit :

y a t'il un moyen de forcer l'affichage window.open pourtant la dite fenetre en au dimension maximal de l'écran (donc comme une nouvelle page) et non pas un petit popup...


 
Un window.open doit être lié à un event utilisateur comme onclick et pas dans un event asynchrone de type Ajax sinon c'est potentiellement considéré comme du spam et ça bloque. Sinon il y a un window.location = 'ajx/dataPDF.php', qui fonctionnerait mais qui comme son nom l'indque recharge la page.
 
Sinon il y a la possibilité de récupérer les informations dans l'appel Ajax qui déclenche l'insertion en base et détruit la session, et de le réinjecter les informations dans l'url ajx/dataPDF.php. Ou de récupérer les informations dans la page même si elles s'y trouvent.


Message édité par czh le 12-10-2011 à 21:15:11
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed