|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 11 ![]() |
Bonjour,
Je dois créer un outil web : -Connexion login mot de passe (je sais faire) -Interroger une base de données (je sais faire) -insérer des informations dans une table temporaire avant validation (ou annulation) (je sais faire) -effacer ou valider la table temporaire si l'utilisateur valide ou annule (je sais faire) -Valider automatiquement les tables temporaires si le client se déconnecte en cliquant sur le bouton déconnexion (pas très très dure, je sais faire) -Valider automatiquement les tables temporaire si le client ferme de manière brutal la page web (je sais pas faire). -Valider automatiquement les tables temporaire si l'ordinateur du client s'éteint (panne de batterie) (je sais pas faire). -Même chose pour panne de connexion internet, wifi etc... Bref, comment puis je détecter si le client n'est plus connecté mais n'a pas fermé la session, et surtout comment puis je lancer un script PHP dans ce cas.... Merci beaucoup Elan |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 140 ![]() |
oh...
j'imagine qu'il faut faire un module de suivi de l'utilisateur. Genre quand il se connecte, à chaque fois qu'il interroge une page tu mets un timestamp dans une table qui contient son ID et la date de sa derniere action... mais pour l'éxecuter en routine, je vois pas... a moins que tu viennes une fois par jour dans l'admin. Mais apparemment tu veux pas que ça marche comme ça... |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 11 ![]() |
ou alors, si ça existe, je veux bien faire que au bout de 30 minutes d'inactivité, ce soit automatiquement validé.
Mais est ce que c'est possible? |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 11 ![]() |
et en effet, je ne veux pas me connecter tout les jours, ni faire une verification à chaque connexion d'un utilisateur que le precedent n'ai pas validé....
Elan PS: desolé pour les fautes eventuelles, je sors d'un pot avec les collegues. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 11 ![]() |
Pour resumer ma demande,
Est ce qu'il existe en php un moyen lors d'une communiction client serveur d'enclancher un script dans 30 minutes (qui peut être annulé si le client effectue autre chose entre temps) Cordialement Elan |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 140 ![]() |
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 11 ![]() |
Merci, je vais m'inspirer de cela, et repondre demain ou dans le courant de la semaine prochaine si ça fonctionne ou pas.
Elan |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 11 ![]() |
ok, a ce que j'ai compris (et utilisé), ton script PHP, permet de definir :
Le moment à partir du quel tu souhaites effectuer une sauvegarde de ta base dans un fichier (ou si on le modifie tout autre action en php). mais elle n'est effectué seulement lorsque quelqu'un se connecte sur une page appelant le script php apres que le moment de la sauvegarde soit mise à jour. petit resumé de ton script: je decide de faire une sauvegarde tout les soirs à minuit (et le configure comme cela). *23h30, rien *23h40, quelqu'un se connecte sur mon site, le script est appellé, on est pas minuit, rien ne se passe. *23h45, le dude quitte mon site, rien ne se passe. *23h59, bien sur, rien. *24h00, rien (le script n'est pas appellé). *2h40, quelqu'un se connecte sur mon site, le scipt est appellé, il (le script) se rend compte que minuit est passé et qu'il n'y a pas de sauvegarde de faite. Il en fait une et attend la prochaine connexion pour tester la date. Alors que ce que je veux moi c'est: un utilisateur arrive sur mon site, rentre une information. stockage sur une table temporaire de l'info il annule l'info. suppression de l'info sur ma table il remet une info sur ma table. stockage sur une table temporaire de l'info il quitte mon site (de maniere brutal, pas de fin de session) sans annuler l'info 30 minutes apres qu'il ai rentré la deuxieme info, elle passe de la table temporaire à la table définitive (alors que personne ne s'est connecté sur mon site). snif, aidez moi.....:'( |
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : juin 2004 Messages : 92 ![]() |
un cron qui va lancer un script de vérification toutes les minutes?
Une fois que ton client est parti, le process apache associé est mort, donc il ne peut forcémment rien faire. |
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 11 ![]() |
Bon, ben voila une reponse qui a le merite d'être claire, je ne peux donc pas avec du php lancer des scripts à interval regulier outre que "parasiter/profiter" de la connexion d'un client.
et il ne peut pas y avoir de temporisation avec une sorte de thread en java pour ne pas faire ramer le browser? de sort que je teste si à la fin de la temporisation le variable $_SESSION['pouetpouet'] existe encore. (au quel cas je relance une autre tempo jusqu'a epuisement) |
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
en fait j'ai pas bien compris ce que tu veux faire.
mais déja faut que tu comprennes que tu n'as pas de gestion de temps en php. apres tu dis : je veux bouger l'info de la table TEMP à une autre. et tu rajoutes, sans aller sur le site. mais on s'en fiche en fait, car si personne ne va sur le site, ta variable elle peut rester en TEMP 3 ans et le jour ou quelqu'un va sur le site le script fait tout ce qu'il a a faire en fonction du timestamp de la derniere action. en gros PHP tu peux pas lui dire dans 30 minutes fait ca. mais tu peux lui dire la prochaine fois qu'on te lance, si la comparaison des dates fait plus de 30 minutes, tu fais ca. et voila tout.
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 11 ![]() |
oui, c'est ce que j'ai compris... pô cool.
Mais il se peut que personne ne se connecte avant 3 ans aussi. et sinon, avec la fonction sleep() , ça ne marchera pas non plus? Grand instant de solitude, est ce que à partir du moment ou le client a fermé sa page web, le script PHP s'arrete la ou il en est? |
|
|
00
|
|
|
#13 |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
soit logique avec toi même, ca peut te faire quoi si le truc reste pendant 3 ans dans la table TEMP, puisque personne ira y voir, et le jour ou tu vas la voir, elle se mets dans la bonne TABLE.
c'est ça PHP, de plus PHP, c'est coté serveur, quand ta page HTML arrive sur ton browser le script php est fini.
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
00
|
|
|
#14 | |
|
Membre régulier
![]() Inscription : juin 2004 Messages : 92 ![]() |
Citation:
|
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 11 ![]() |
ok, j'ai compris je lache l'affaire avec du php
Merci neanmoins pour votre aide. je vais voir du coté des script cgi-bin comment ça marche. à moins que vous ne pensiez à aute chose. Elan |
|
|
00
|
|
|
#16 | |
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 140 ![]() |
Citation:
Si cron est fiable ça devrait pas poser de problèmes si ? |
|
|
|
00
|
|
|
#17 | |
|
Expert Confirmé
![]() Maxime PasquierExpert PHP Inscription : novembre 2004 Messages : 2 126 ![]() |
Citation:
si tu utilises un cron il va te vérifier ton site toutes les 30 minutes, soit 48 fois par jour, pendant 3 ans : soit un peu plus de 50 000 fois. 50 000 fois ton site va vérifier qu'il y a quelque chose dans la table TEMP, et si oui le bouger. la première fois il y aura quelque chose à bouger et le reste du temps y aura rien a faire. et tour ca pour quoi ? pour rien, parce que tu te servira pas de ton site pendant ce temps la. Le cron ca sert à lancer des scripts à des heures précise, parce qu'on a besoin de recevoir un mail, lancer une newsletter etc. Tu comprends ou pas ?
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur. Mon espace Développez : mes Créations. Rencontre & Carte des Membres de Developpez.com, version 3.0 |
|
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 11 ![]() |
De toute façon cron ne se lance pas automatiquement toutes les 30 minutes.
supposont que je le regle pour 30 minutes, il n'est lancé que lorsqu'un client se connecte sur le site, la il verifie par rapport à la derniere sauvegarde si il est temp d'en faire une autre. mais il ne fera pas de sauvegarde tout seul si personne ne se connecte sur mon site pendant 3 ans. Car comme dit précédement (et à mon grand malheur), un script php ne peut être lancé que par la connexion client. La le script s'execute, et une fois fini, il envoie l'html correspondant au client. Tiens, ca me donne une idée. si je fais une frame vide d'html mais que je fais un truc du genre [code] <?PHP sleep(10); if isset($_SESSION['Pouetpouet']) // si le client est encore connecté header($_SELF_PHP); //ou un truc comme cela else // si il s'est déconnecté fonction_valider_la_table_temporaire(); ?> [code] mon truc fonction si un serveur php marche comme cela : -Un client se connect sur une page index.php -Le serveur commence à executer le code PHP -Le client quitte la page avant la fin de l'execution du code -Le serveur fini l'execution du code PHP -Le serveur essaye d'envoyer (ou non, je m'en criss) l'HTML au client et non -Un client se connect sur une page index.php -Le serveur commence à executer le code PHP -Le client quitte la page avant la fin de l'execution du code -Le serveur NE fini PAS l'execution du code PHP Mais est ce que c'est la cas? Merci. Elan |
|
|
00
|
|
|
#19 | |
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 140 ![]() |
Citation:
oui oui. J'avais déjà compris... La question étant plutôt : quelle alternative est possible alors ? |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com