Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb de selection de combobox et verrou / file d'atte nte

7 réponses
Avatar
mescontactsviadeo
Bonjour,

Je ne connais pas bien PHP.

Sur différents navigateurs internet, je voudrais que des utilisateurs
puissent déclencher le lancement d'un
fichier PHP (qui lui-même génère un xml) sans que cela déclenche
d'erreurs si le déclenchement a lieu
simultanèment.

Je m'explique:
------------------------
sur un evenement, on lance un fichier PHP qui lui-même écrit et
formate
un fichier XML qui doit être différent pour chaque valeur de la
combobox choisie.

J'avais pensé utilisé des identifiants de session à rajouter au nom du
fihier xml pour que chaque utilisateur
qui a choisi sa propre valeur dans la combobox voit bien son propre
fichier (et pas celui du voisin).

Mais ça ne suffit pas apparemment.

Il faut utiliser des verrous, des files d'attente ?? car le fichier
PHP lui porte toujours le même nom
Comment cela fonctionne t'il ? Est-ce que flock est une bonne piste ?


Merci pour l'aide.
Tony

7 réponses

Avatar
Olivier Miakinen
Bonjour,


Je ne connais pas bien PHP.


Il est encore temps de s'y mettre, par exemple avec la doc :
http://www.php.net/docs.php

Il y a aussi la FAQ de ce groupe, en particulier le paragraphe suivant :
http://faqfclphp.free.fr/#rub2.3

Sur différents navigateurs internet,


Sauf traitement spécifique (non recommandé et basé sur une détection
aléatoire), le résultat de l'exécution d'un script PHP ne dépendra pas
du navigateur.

je voudrais que des utilisateurs
puissent déclencher le lancement d'un
fichier PHP (qui lui-même génère un xml) sans que cela déclenche
d'erreurs si le déclenchement a lieu
simultanèment.


Je n'ai pas compris. Voyons la suite.

Je m'explique:
------------------------
sur un evenement, on lance un fichier PHP


Quel genre d'événement ? Un clic sur un lien <a href="xxx.php"> ? Ou
peut-être un script JavaScript qui fait une requête via XHR (Ajax) ?

qui lui-même écrit et formate
un fichier XML qui doit être différent pour chaque valeur de la
combobox choisie.


Ce n'est pas clair. Qu'est-ce qu'une « combobox », quelles sont ses
« valeurs », et quel rapport avec PHP ? Et en fait, qu'est-ce que tu
cherches à faire exactement ?


J'avais pensé utilisé des identifiants de session à rajouter au nom du
fihier xml pour que chaque utilisateur
qui a choisi sa propre valeur dans la combobox voit bien son propre
fichier (et pas celui du voisin).


Chaque utilisateur génère un fichier qui lui est propre, et qu'il doit
récupérer ensuite ? Si c'est via XmlHttpRequest, pourquoi n'obtiendrait-
il pas directement le contenu du fichier au lieu de son nom, auquel cas
après il en fait ce qu'il veut ?


Mais ça ne suffit pas apparemment.

Il faut utiliser des verrous, des files d'attente ?? car le fichier
PHP lui porte toujours le même nom


Euh... je ne vois pas bien le rapport entre le nom du fichier PHP et ce
qu'il génère (qui peut être différent d'un appel à l'autre, surtout en
fonction des paramètres qu'on lui passe).

Comment cela fonctionne t'il ?


C'est la question que je te pose : tu veux faire quoi au juste ? Est-ce
que tu aurais un bout de page HTML montrant ce que tu as commencé à faire ?

Avatar
mescontactsviadeo
merci pour la rép.

C'est pour une application qui existe déjà et où j'essaie de créer une
visualisation de vignettes jpeg
de couvertures de livres selon le type choisi par une combobox
(valeurs "livres policiers", "livres de sf", etc).

Sur l'évènement onChange de la combobox, un script php est lancé
1/ qui interroge une base MySQL pour récupérer les images
correspondantes à par exemple "livres policiers".
2/ génère un fichier XML pour formatter les données.

En monoposte cela fonctionne très bien, mais quand 2 utilisateurs
différents choisissent au même moment
sur 2 navigateurs différents l'un "livres policiers" et l'autre
"livres de sf" il y a erreur.

Au début je pensais que c'est parce qu'ils partageaient le fichier XML
au même nom.
J'ai créer autant de fichiers XML que de demandes en rajoutant au nom
du
fichier XML un identifiant de session.

Mais il y a encore erreur.


































On 27 avr, 00:02, Olivier Miakinen <om+ wrote:
Bonjour,




Je ne connais pas bien PHP.


Il est encore temps de s'y mettre, par exemple avec la doc :http://www.php.net/docs.php

Il y a aussi la FAQ de ce groupe, en particulier le paragraphe suivant :http://faqfclphp.free.fr/#rub2.3

Sur différents navigateurs internet,


Sauf traitement spécifique (non recommandé et basé sur une détection
aléatoire), le résultat de l'exécution d'un script PHP ne dépendra pas
du navigateur.

je voudrais que des utilisateurs
puissent déclencher le lancement d'un
fichier PHP (qui lui-même génère un xml) sans que cela déclenche
d'erreurs si le déclenchement a lieu
simultanèment.


Je n'ai pas compris. Voyons la suite.

Je m'explique:
------------------------
sur un evenement, on lance un fichier PHP


Quel genre d'événement ? Un clic sur un lien <a href="xxx.php"> ? Ou
peut-être un script JavaScript qui fait une requête via XHR (Ajax) ?

qui lui-même écrit et formate
un fichier XML qui doit être différent pour chaque valeur de la
combobox choisie.


Ce n'est pas clair. Qu'est-ce qu'une « combobox », quelles sont ses
« valeurs », et quel rapport avec PHP ? Et en fait, qu'est-ce que tu
cherches à faire exactement ?



J'avais pensé utilisé des identifiants de session à rajouter au nom du
fihier xml pour que chaque utilisateur
qui a choisi sa propre valeur dans la combobox voit bien son propre
fichier (et pas celui du voisin).


Chaque utilisateur génère un fichier qui lui est propre, et qu'il doit
récupérer ensuite ? Si c'est via XmlHttpRequest, pourquoi n'obtiendrait-
il pas directement le contenu du fichier au lieu de son nom, auquel cas
après il en fait ce qu'il veut ?



Mais ça ne suffit pas apparemment.

Il faut utiliser des verrous, des files d'attente ??  car le fichier
PHP lui porte toujours le même nom


Euh... je ne vois pas bien le rapport entre le nom du fichier PHP et ce
qu'il génère (qui peut être différent d'un appel à l'autre, surtout en
fonction des paramètres qu'on lui passe).

Comment cela fonctionne t'il  ?


C'est la question que je te pose : tu veux faire quoi au juste ? Est-ce
que tu aurais un bout de page HTML montrant ce que tu as commencé à faire ?



Avatar
Paul
merci pour la rép.

...


En monoposte cela fonctionne très bien, mais quand 2 utilisateurs
différents choisissent au même moment
sur 2 navigateurs différents l'un "livres policiers" et l'autre
"livres de sf" il y a erreur.

Au début je pensais que c'est parce qu'ils partageaient le fichier XML
au même nom.

et donc je crois qu'une autre hypothèse est vérifiée : c'est dans

l'accès à la base que se produit l'erreur. Peut être que le serveur
mySql est mécontent de recevoir ces 2 requêtes ensemble....

Avatar
Mickael Wolff

de couvertures de livres selon le type choisi par une combobox
(valeurs "livres policiers", "livres de sf", etc).


Les combobox n'existent pas en HTML.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Avatar
Christophe Meresse
On 27 avr, 20:58, Mickael Wolff wrote:

de couvertures de livres selon le type choisi par une combobox
(valeurs "livres policiers", "livres de sf", etc).


Les combobox n'existent pas en HTML.


Oui bon, je suppose qu'il parle d'un <select>.
La combo-box (avec liste déroulante ET possibilité d'édition) existe
avec html+javascript.

Christophe


Avatar
Christophe Meresse
On 26 avr, 13:59, wrote:

sur un evenement, on lance un fichier PHP qui lui-même écrit et
formate
un fichier XML qui doit être différent pour chaque valeur de la
combobox choisie.

J'avais pensé utilisé des identifiants de session à rajouter au nom du
fihier xml pour que chaque utilisateur
qui a choisi sa propre valeur dans la combobox voit bien son propre
fichier (et pas celui du voisin).

Mais ça ne suffit pas apparemment.

Il faut utiliser des verrous, des files d'attente ?? car le fichier
PHP lui porte toujours le même nom
Comment cela fonctionne t'il ? Est-ce que flock est une bonne piste ?


Si ton php ecrit le fichier xml sur le disque du serveur avant de
donner la possibilité à l'utilisateur de le récuperer, il faut
effectivement verifier qu'il ne se fait pas ecraser par l'autre
session en lui donnant effectivement comme tu l'as fais un nom unique.
En dehors de ca je ne vois aucune raison valable pour qu'un problème
apparaisse.
Tu peux aussi faire que ton script php renvoie directement une réponse
au format html (sans passer par une écruture sur disque) dans ce cas,
plus de problème de nom de fichier.

Pour flock, si tu parle du browser, il n'y a aucune raison que ça
résolve ton problème.

Christophe

Avatar
Christophe Meresse
On 28 avr, 11:07, Christophe Meresse
wrote:
On 26 avr, 13:59, wrote:

sur un evenement, on lance un fichier PHP qui lui-même écrit et
formate
un fichier XML qui doit être différent pour chaque valeur de la
combobox choisie.

J'avais pensé utilisé des identifiants de session à rajouter au nom du
fihier xml pour que chaque utilisateur
qui a choisi sa propre valeur dans la combobox voit bien son propre
fichier (et pas celui du voisin).

Mais ça ne suffit pas apparemment.

Il faut utiliser des verrous, des files d'attente ?? car le fichier
PHP lui porte toujours le même nom
Comment cela fonctionne t'il ? Est-ce que flock est une bonne piste ?


Si ton php ecrit le fichier xml sur le disque du serveur avant de
donner la possibilité à l'utilisateur de le récuperer, il faut
effectivement verifier qu'il ne se fait pas ecraser par l'autre
session en lui donnant effectivement comme tu l'as fais un nom unique.
En dehors de ca je ne vois aucune raison valable pour qu'un problème
apparaisse.
Tu peux aussi faire que ton script php renvoie directement une réponse
au format html (sans passer par une écruture sur disque) dans ce cas,


Hum, je voulais dire au format XML, bien sûr.

Christophe