[PHP/Javascript] tester si popup ouverte
Résolu/Fermé
Phil_TSF
-
3 avril 2008 à 11:09
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 13 juil. 2015 à 00:27
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 13 juil. 2015 à 00:27
A voir également:
- [PHP/Javascript] tester si popup ouverte
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- Telecharger javascript - Télécharger - Langages
- Easy php - Télécharger - Divers Web & Internet
- Tester composant pc - Guide
3 réponses
re,
C'est ok pour cette méthode, ça fonctionne.
Merci pour cette idée de session_start, je ne pensais pas en avoir besoin dans cette appli, et là elle me sauve la vie!
Hors maintenant je me heurte à un autre problème.
Il s'agit d'unseter la variable de session à la fermeture de la popup...
Mais je vais continuer à creuser avant de lacher les bouts de codes que j'ai pondu.. cependant si tu as une idée...
Encore merci pour ton aide, tu auras participer au développement d'une appli a vocation humanitaire :)
Phil.
C'est ok pour cette méthode, ça fonctionne.
Merci pour cette idée de session_start, je ne pensais pas en avoir besoin dans cette appli, et là elle me sauve la vie!
Hors maintenant je me heurte à un autre problème.
Il s'agit d'unseter la variable de session à la fermeture de la popup...
Mais je vais continuer à creuser avant de lacher les bouts de codes que j'ai pondu.. cependant si tu as une idée...
Encore merci pour ton aide, tu auras participer au développement d'une appli a vocation humanitaire :)
Phil.
pour information, la méthode :
index.php :
<?php
session_start()
[...]
if ($menu == connec)
{
if (isset($_SESSION['etatPopup']))
{
echo "<script language='JAVASCRIPT'> alert('Une tentative de connexion est déjà en cour.');</script>";
}
else
{
$_SESSION['etatPopup']=true;
include('connexion/connec.php');
}
}
////////////////////////:
menu.php :
<div> <a href='index.php?menu=connec' class=menu>Se connecter</a> </div>
index.php :
<?php
session_start()
[...]
if ($menu == connec)
{
if (isset($_SESSION['etatPopup']))
{
echo "<script language='JAVASCRIPT'> alert('Une tentative de connexion est déjà en cour.');</script>";
}
else
{
$_SESSION['etatPopup']=true;
include('connexion/connec.php');
}
}
////////////////////////:
menu.php :
<div> <a href='index.php?menu=connec' class=menu>Se connecter</a> </div>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
3 avril 2008 à 12:24
3 avril 2008 à 12:24
Bonjour,
Ce que je peux te conseiller :
- lorsque la popup s'ouvre, elle place en session un marqueur (genre $_SESSION['traitement'] = true;)
- quand le traitement est fini, le marqueur est placé à false
- dans l'affichage de ton menu, au moment de l'affichage des liens, tu testes l'état de ce marqueur.
Cela te conviendrait-il ?
Xavier
Ce que je peux te conseiller :
- lorsque la popup s'ouvre, elle place en session un marqueur (genre $_SESSION['traitement'] = true;)
- quand le traitement est fini, le marqueur est placé à false
- dans l'affichage de ton menu, au moment de l'affichage des liens, tu testes l'état de ce marqueur.
Cela te conviendrait-il ?
Xavier
Bonjour Xavier!
Il serait intéressant de tester ça effectivement, maintenant, je ne vois pas à quoi correspond 'traitement'.
Concretement ma popup est un script php (connection.php) qui vérifie certain paramètre au niveau système, avec des shell_exec. Si ces tests de paramètres sont validés, un bouton apparait et nu click dessus permet d'autre traitement, comme l'établissement d'une connexion ppp.
Si tu pouvais me dire à quoi correspond dans ta ligne de code cette chaine, 'traitement', je pourrait effectuer mes tests et voir si ça fonctionne.
Toujours est il est que l'idée me semble bonne...
Phil.
Il serait intéressant de tester ça effectivement, maintenant, je ne vois pas à quoi correspond 'traitement'.
Concretement ma popup est un script php (connection.php) qui vérifie certain paramètre au niveau système, avec des shell_exec. Si ces tests de paramètres sont validés, un bouton apparait et nu click dessus permet d'autre traitement, comme l'établissement d'une connexion ppp.
Si tu pouvais me dire à quoi correspond dans ta ligne de code cette chaine, 'traitement', je pourrait effectuer mes tests et voir si ça fonctionne.
Toujours est il est que l'idée me semble bonne...
Phil.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
3 avril 2008 à 13:41
3 avril 2008 à 13:41
Ce "traitement" n'est qu'un nom de variable. Tu peux mettre ce que tu veux.
Globalement, ton application peut avoir plusieurs états : pop-up cliquée / pop-up pas encore cliquée / pop-up refermée.
L'idée est de mettre en session un indicateur qui te dise dans quel état ton application est.
Après, tu peux adapter, je ne sais pas si tu n'as que ces états, ou si deux états peuvent être regroupés... A toi de voir :)
Xavier
Globalement, ton application peut avoir plusieurs états : pop-up cliquée / pop-up pas encore cliquée / pop-up refermée.
L'idée est de mettre en session un indicateur qui te dise dans quel état ton application est.
Après, tu peux adapter, je ne sais pas si tu n'as que ces états, ou si deux états peuvent être regroupés... A toi de voir :)
Xavier
Phil_TSF
>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
3 avril 2008 à 15:38
3 avril 2008 à 15:38
Re,
Donc, j'ai tenté d'implémenter ta solution, mais sans succés pour l'instant.
La méthode :
à partir de mon menu.php, lors d'un clic sur le menu Se connecter censé ouvrir la fenêtre popup, je redirige l'appli vers l'index. Dans l'index Si $_SESSION['etatPopup'] est vide ou égale à false, j'ouvre la fenêtre popup, qui execute donc un script php dans lequel, au début, j'initialise ma variable de session de cette manière :
$_SESSION['etatPopup'] = true.
SINON, j'affiche une alert js.
Mais cette méthode ne fonctionne pas.
Les bouts de codes :
menu.php :
<div> <a href="index.php?menu=connec" class=menu>Se connecter</a> </div>
///////////////////////////
Index.php
if ($menu == connec)
{
if ($_SESSION['etatPopup'])
{
echo "<SCRIPT type='TEXT/JAVASCRIPT'> alert('Une fenêtre de connexion est déjà ouverte.');</script>";
//$_SESSION['etatPopup'] = true;
}
else
{
include('connexion/connec.php');
}
}
connec.php est un simple js qui ouvre ma popup en appelant le script connection.php.
Dans le dit script :
$_SESSION['etatPopup']=true;
Cela ne fonctionne pas, et ma popup s'ouvre a chaque coup.
Une idée?
Donc, j'ai tenté d'implémenter ta solution, mais sans succés pour l'instant.
La méthode :
à partir de mon menu.php, lors d'un clic sur le menu Se connecter censé ouvrir la fenêtre popup, je redirige l'appli vers l'index. Dans l'index Si $_SESSION['etatPopup'] est vide ou égale à false, j'ouvre la fenêtre popup, qui execute donc un script php dans lequel, au début, j'initialise ma variable de session de cette manière :
$_SESSION['etatPopup'] = true.
SINON, j'affiche une alert js.
Mais cette méthode ne fonctionne pas.
Les bouts de codes :
menu.php :
<div> <a href="index.php?menu=connec" class=menu>Se connecter</a> </div>
///////////////////////////
Index.php
if ($menu == connec)
{
if ($_SESSION['etatPopup'])
{
echo "<SCRIPT type='TEXT/JAVASCRIPT'> alert('Une fenêtre de connexion est déjà ouverte.');</script>";
//$_SESSION['etatPopup'] = true;
}
else
{
include('connexion/connec.php');
}
}
connec.php est un simple js qui ouvre ma popup en appelant le script connection.php.
Dans le dit script :
$_SESSION['etatPopup']=true;
Cela ne fonctionne pas, et ma popup s'ouvre a chaque coup.
Une idée?
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
>
Phil_TSF
3 avril 2008 à 17:43
3 avril 2008 à 17:43
Désolé pas le temps de développer, là, mais va voir la doc sur les sessions sur php.net
13 juil. 2015 à 00:27