begin process at 2012 05 31 06:04:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

pop up


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pop up

jeudi 9 septembre 2010 à 21:53:03 | pop up

djbabou

Salut a tous

en fait, j'aimerais charger une page dans la même fenetre sans ouvrir de pop up!

Je m'explique: j'ai développé un site qui utilise un pop up je n'ai pas eu le choix car au départ, il m'était demandé de mettre en place un système avec pop up. Malheureusement pour moi, cette dsiposition a changée; maintenant on me demande de retirer tout les pop-up de mon site.

J'ai déjà tout essayé mais rien ne fait car les méthodes genre document.location.href ou windows.location.href m'affiche effecctivement ma page dans la même fenetre mais, problème toutes mes données du formulaire sont perdues.

Après validation des infos du formulaire, j'appelle une page purc.php qui effectue un certain nombre de traitement et qui fait appelle à ma fameuse pop up ( confirm.php ).

Voici son appel :

window.open("./_sys/confirm.php?actived_key=<?php echo '19987'.date('Y-m-d H')); ?>","","width=600,height=800,left=20,top=20,location=no,status=no,toolbar=no");
window.close();
win.focus();

ce que j'aimerais faire c'est empecher qu'une nouvelle fenetre s'ouvre et donc que confirm.php s'ouvre dans la même fenêtre, ou au pire que la fenetre qui appelle confirm.php se ferme ou se masque de facon à ce que l'on ne la voit pas.

les function comme blur() ne fonctionnent pas car ma fenetre reste visible et ma pop up apparait.

Auriez vous une piste ou des olutions à me proposer s'il vous plait ?
jeudi 9 septembre 2010 à 22:21:40 | Re : pop up

neigedhiver

Salut,

Il est possible de "forcer" l'envoi d'un formulaire avec Javascript, en utilisant la méthode :
Code Javascript :
document.forms['mon_formulaire'].submit();

Autrement, en changeant simplement l'URL, il est normal que les données du formulaire soient perdues, c'est comme si on cliquait simplement sur un lien (sans soumettre le formulaire donc).

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
jeudi 9 septembre 2010 à 23:06:46 | Re : pop up

djbabou

Merci pour ta réponse...

En fait les données de mon formulaires sont envoyés à ma première page purc.php . Jusque la je n'ai aucun problème.

Le problème je le rencontre sr la page confirm.php

Quand j'utilise ma pop up, il n'y a aucun problème

window.open("./_sys/confirm.php?actived_key=<?php echo '19987'.date('Y-m-d H')); ?>","","width=600,height=800,left=20,top=20,location=no,status=no,toolbar=no");
window.close();
win.focus();

elle m'ouvre donc une page et m'affiche les données du formulaire et effectue les derniers traitements avat la sauvegarde.


Par contre, juste en changeant mon code pour éviter des pop up, et tout afficher sans ouvrir de vouvelles fenêtres, en remplacant le code cité plus haut par des methodes comme document.location.href ou windows.location.href , plus rien comme données.

Essaies tu donc de me dire qu'en envoyant les données du formulaire de formulaire vers purc.php vers confirm.php j'orai la possiblité de supprimer ma pop up tout en gardant mes données?



Voici la fonction qui appel donc ma page. C'est à partir de la que je dois faire mes modifs pour envoyer du même coup mon formulaire ? Et puis je vois difficilement comment y arriver ?

obj('submit_bt').onclick=function(){
if(valid_form){
window.open("./_sys/confirm.php?actived_key=<?php echo md5('confirm.php'.date('Y-m-d H')); ?>","","width=600,height=800,left=20,top=20,location=no,status=no,toolbar=no");
window.close();
win.focus();
}

Merci d'avance pour vos réponses ...
vendredi 10 septembre 2010 à 01:08:08 | Re : pop up

neigedhiver

C'est bien ça que je dis. Ta popup sert uniquement à confirmer au formulaire qu'on valide ce qu'on envoit. Dans un formulaire HTML, l'événement onsubmit() permet de définir un traitement lors de la soumission du formulaire. Si le script appelé renvoit TRUE, alors le formulaire est envoyé. Si le script renvoit FALSE, alors le formulaire n'est PAS envoyé.
Ce qui se passe dans ton code, c'est que tu charges la popup à la place de la page contenant le formulaire.
Je vois deux options :
- tu renvoies à la page de confirmation les données du formulaire et tu t'arranges pour les envoyer (à nouveau) à la page qui va les traiter. Ca t'oblige en quelque sorte à avoir un deuxième formulaire, caché si l'on peut dire, avec que des champs de type hidden contenant les données saisies par l'utilisateur
- la deuxième option est plus propre. Elle consiste à utiliser les sessions PHP. Rien de sorcier. On peut décemment considérer que la durée de vie des données à enregistrer (temporairement) est très courte. Si l'utilisateur ne valide pas ses informations dans les 10 minutes, il n'est pas aberrant de lui demander de recommencer. Donc, un simple session_start() pour démarrer la session (tu peux t'amuser à configurer le nom du SID avec session_name(), ou la durée de vie des cookies, mais pour ce cas précis, je ne suis pas convaincu que ce soit vraiment indispensable, même si c'est plus propre), puis tu stockes les données du formulaire dans les variables de session, le tableau superglobal $_SESSION. Tout ça, dans la page de confirmation qui a reçu les données du formulaire. Puis, quand on clique pour dire ok, sur la page qui va enregistrer les données, tu démarres une session avec session_start(), tu récupères les données du formulaire que tu as sagement sauvegardées dans $_SESSION et tu stockes tout ça bien proprement dans ta base de données.

Est-ce que ça répond à tes interrogations, ou bien est-ce que je fais fausse route et j'ai rien compris à ce que tu demandes ?

May the force be with you ^^

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
vendredi 10 septembre 2010 à 01:12:49 | Re : pop up

neigedhiver

Juste une dernière chose...
Habituellement, pour confirmer, on utilise souvent la fonction javascript confirm() qui sert spécifiquement à ça : http://www.toutjavascript.com/reference/reference.php?ref=confirm&parent=6

Sinon, si tu trouves que c'est pas bien joli, tu peux utiliser une "popup" esthétique avec un peu d'ajax. Il existe des dizaines de ces popup : lightbox, thickbox, shadowbox, et j'en passe. Ce sont ces mêmes popup qui servent souvent à afficher des captures d'écran, des photos de galleries, etc.

Mais si tu veux vraiment une page complète, la deuxième solution de mon précédent message me paraît la plus propre.

Enjoy et bonne nuit.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
vendredi 10 septembre 2010 à 17:23:34 | Re : pop up

djbabou

Salut

en fait, non ! Je pense que je ne me suis pas bien fait comprendre. Ce que je veux c'est éviter les pop - up et pas en rajouter. Tous mes traitements et otre doivent se faire du debut a la fin sur la même page.

formul.php--> purc.php--> confirm.php
sans changer de page.

Pour y arriver j'ai fait un require de purc.php dans formul.

Par contre il me faut trouver une solution pour faire la même chose de purc.php vers confirm.php...

Au pire je me dis que je pourrai empecher l'internaute de naviguer tant que la pop up est ouverte, mais je n'y arrive pas non plus.

J'utilise les fonctions blur() et focus () mais rien. Si je n'arrive pas a faire tout l'affichage dans la même page, est-ce que je pourrai empecher la naviguation sur d'autre page ??


Cette discussion est classée dans : php, fenetre, up, pop, confirm


Répondre à ce message

Sujets en rapport avec ce message

pop up de confirmation [ par used ] slt à tous,voila mon problème,j'ai créé un tableau en php où j'affiche des lignes de données.(ex : des articles)Dans ce tableau il y a une dernière co Pbm php et pop-up, aidez-moi plz [ par bobatheboss ] slt,j'ai un site perso, avec un espace membre entierement en php, mais là j'ai un pbm, le php n'aime pas les javascript, et tout mes liens dans la pag Passer une variable PHP dans une instruction Javascript (Pop-Up) [ par RDLG2A ] Bonjour à tous,Voilà mon pb!J'extrais d'une base de données une info que je nomme $ProdPhoto.Je voudrais lancer un pop-up qui m'ouvre cette photo.Je l ouvrir une pop-up avec un header en php.. [ par pyr0123 ] Bonjour, Je voudrais ouvrir une pop-up (jusque là ca va c'est du html) mais je voudrais passer par un proxy pour faire cela. Je pense qu'il faut mo pop up en php [ par ada456 ] salut !!je cherche a creer un pop up de maniere dynamique a partir d'un table  pour explique plus j'ai une liste des clients et pour chaque clients ja récuperer le chemein d'une image [ par lamiae2 ] bonjour;j'ai un problème depuis une semaine,pour upload une image dans un pop up.mon chef m'a demandé de créer un formulaire ajouter.php pour remplir Pop-up, box avec php [ par drweb001 ] Bonjour à tous, je recherche à faire dans le style 2.0 un pop-up/box qui me permet de faire une action php. Par exemple, j'ai un tableau, quand je c creer pop up [ par oussch ] bonjour J'ai créé deux pages PHP, une qui envoi des donées avec un submit à une deuxieme page PHP. Comment faire pour afficher directement la deuxiem Pop Up Image [ par elludovico03 ] Bonjour,Depuis maintenant plusieurs jours, je recherche le moyen de creer un pop-up pour image mais malheureusement je ne trouve pas la solution a mon Récupération de contenu de fichier dans une pop up [ par gmsiggy ] [b]salut a tout le monde l'année commence par les pblms [^^happy8] J'ai besoin de votre aide SVP Tout est dans le titre je m'explique d'avantage: J


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,264 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales