Résolu [URGENT] Aide pour récupérer valeur d'une autre page (iframe)

  • Auteur de la discussion Auteur de la discussion Dlazzy
  • Créé le Créé le
Statut
N'est pas ouverte pour d'autres réponses.

Dlazzy

Premium
Inscription
25 Décembre 2012
Messages
711
Réactions
221
Points
16 843
RGCoins
25
Bonjour,

J'ai un problème :
Sur un page s'affiche "Lampe 2 allumée" ou "Lampe 2 éteinte", je peux aussi avoir "Lampe 3 allumée". Je voudrais afficher sur une autre page les lampes seulement allumées.
Donc si lampe 2 est allumée, lampe 3 éteinte, lampe 4 allumée sur ma page ou je veut afficher les lampes allumées j'aurais :
- Lampe 2
- Lampe 4

Pour mieux comprendre :

Donc si Lampe 1 ON (HIGH) alors afficher "lampe 1 allumée" sur .
Et si "lampe 1 allumée" sur alors récupérer "lampe 1 allumée" pour l'envoyer sur
Bien sûr si il y a plusieurs alors on envoi lampe 2 allumée, lampe 3 allumée...

Si Lampe 1 OFF (LOW) alors afficher "lampe 1 éteinte" sur
Et si "lampe 1 éteinte" sur alors ne PAS récupérer "lampe 1 éteinte" pour l'envoyer sur

Je veut juste affichée sur les lampes allumées.

Voilà donc comment faire pour récupérer les valeurs d'une page et les transférer à une autre ? Si possible sans rechargement mais sinon c'est pas grave.

Merci beaucoup, j'ai jusqu'à Mercredi et un peu plus maximum !!!

:ok:
 
Dernière édition:
Je comprends difficilement ton problème. En expliquant un peu mieux le déroulement des actions cela serait peut-être un peu plus compréhensible.

Dans le cas où tu appuies sur un bouton pour rediriger l'internaute sur ta page tu peux faire passer les valeurs dans l'adresse puisque je n'ai pas l'impression que ces données soient sensibles, en revanche si l'internaute les modifie dans la barre d'adresse et actualise, ta page sera également modifiée ! Sinon tu as les variables de session, je te te laisse chercher ça sur internet car c'est pas bien méchant :) Enfin en utilisant une BDD ça peut aussi résoudre le problème :)
 
Je comprends difficilement ton problème. En expliquant un peu mieux le déroulement des actions cela serait peut-être un peu plus compréhensible.

Dans le cas où tu appuies sur un bouton pour rediriger l'internaute sur ta page tu peux faire passer les valeurs dans l'adresse puisque je n'ai pas l'impression que ces données soient sensibles, en revanche si l'internaute les modifie dans la barre d'adresse et actualise, ta page sera également modifiée ! Sinon tu as les variables de session, je te te laisse chercher ça sur internet car c'est pas bien méchant :) Enfin en utilisant une BDD ça peut aussi résoudre le problème :)
Je vais reformuler ma question :

Une carte électronique (Arduino) envoi le message "Lampe 2 allumée" quand la lampe 2 est allumée et inversement. J'aimerais envoyé seulement le message "Lampe 2 allumée" sur une autre page. Donc quand la page 1 à "Lampe 2 allumée" la page 2 le reçoit. Sur la page 2 -> Lampe 2 allumée.
Il peut avoir plusieurs lampe allumées d'un coup !

Merci
 
Et à quel moment tu es redirigé vers ta page 2 ? Car tant qu'à faire autant récupérer le statut des lampes depuis la carte électronique sur les deux pages plutôt que sur une seule :)
 
Et à quel moment tu es redirigé vers ta page 2 ? Car tant qu'à faire autant récupérer le statut des lampes depuis la carte électronique sur les deux pages plutôt que sur une seule :)
Sa serait bien si c'était aussi facile ^^, mais malheureusement non.
La carte envoi les valeur sur une page de mon réseau (192.168.229.220) donc quand je tape j'obtiens une page avec des boutons pour allumer et éteindre des lampes. Maintenant avec mon vrai site j'aimerais avoir un menu à l'entrée qui affiche l'état des lampes. Sachant que si la lampe 2 == HIGH (donc activer) alors on envois sur la page "Lampe 2 allumée". J'ai déjà récupérer des valeurs d'un capteur de luminosité et envoyées les valeurs sur une autre page. Avec iframe mais pour récupérer du texte je ne comprends et sa va faire longtemps que j'ai fait ça !
 
Cette page présente sur ton serveur, tu n'as qu'à la modifier ?
La carte est un mini serveur. Il fournit une adresse URL pour affichier un page. Mon site est héberger sur un vrai hébergeur, hostinger. Comment faire pour envoyer les données de page de serveur à moi vers hostinger ? (Mon serveur est en local) Avec les valeurs de la luminosité que j'avais fait avant je mettais en haut de la page le code php pour demander l'URL 192.168.229.220.
Sachant que mon site sur hostinger je l'affiche depuis chez moi donc l'adresse 192.168.229.220 fonctionne. Si je veut l'afficher dans un autre pays par exemple, je remplacerais par 88.214.XXX.XXX:8080 (adresse de ma box).
Après la c'est du réseaux. Mais c'est pas le problème car j'ai déjà fait le système avec la luminosité, mais c'est que des nombres ! (et je m'en souvient plus aussi ^^)
 
Je crois que tu te compliques un peu la vie, quoi qu'il arrive tu dois modifier le code de la page qui s'affiche en premier, pour transmettre à la deuxième page les donnes qu'elle a récupérée de la carte !
 
Pour que cible mieux le problème je te fournis les deux pages que j'utilisait pour la luminosité. La carte électronique envoi directement les valeurs sur la page. (les valeurs sont stocké dans une variable et envoyé par la carte)

J'affiche mes valeurs avec la page lumi.php


(button type pour les boutons ON OFF qui permettent d'allumer ou éteindre)
 
Et as-tu accès au fichier présent à l'adresse 192.168.229.220 ?
Tu peut voir la page qui sera affichée par la carte ici ->
Tu reconnaît les balise <HTML> et autres. Tu voit aussi "lumi" c'est la variable qui est afficher, la luminosité.
Il y a aussi
Code:
[LIST=1]
[*] if (digitalRead(2)==HIGH)  {
[*]            client.println(F("Lampe allumée"));
[*]            delay(10);
[*]

[*]          }
[*]          else {
[*]            client.println(F("Lampe éteinte"));
[*]            delay(10);
[*]          }
[/LIST]

Donc quand lampe 2 (sortie 2)==HIGH on affiche lampe allumée. C'est se lampe allumée qui s'affiche sur cette page que je veut récupérer si c'est le cas.

PS : Le client.println c'est la commande pour afficher sur un navigateur.

Merci beaucoup, je reviens demain. Je verrais ça demain et je te tiens au courant !
Merci encore
 
Et as-tu accès au fichier présent à l'adresse 192.168.229.220 ?

Après réflexion dans la nuit, je pourrait pas mettre un <iframe> entre client.println(F("Lampe allumée")); et ensuite sur mon autre page je met GET URL, ou un truc comme ça ? Sachant que seul "Lampe Allumée" sera pris par l'iframe, pas le client.blablabla !

Merci !
 
Pour récupérer la valeur d'une page, enfin, son contenu plutot utilise : @file_get_contents("TON LIEN EXACTE");
 
Après réflexion dans la nuit, je pourrait pas mettre un <iframe> entre client.println(F("Lampe allumée")); et ensuite sur mon autre page je met GET URL, ou un truc comme ça ? Sachant que seul "Lampe Allumée" sera pris par l'iframe, pas le client.blablabla !

Merci !
Mais le truc c'est que tu essayes de récupérer une chaine de caractères définie. "Lampe allumée" ne varie jamais ! C'est une phrase qui s'affiche en résultat d'une condition préalable ! Tu dois récupérer sur ta seconde page la variable qui elle est modifiée en fonction de l'état de la lampe, et après faire également un println() d'une phrase qui indique que la lampe est allumée si elle l'est. :)
 
Mais le truc c'est que tu essayes de récupérer une chaine de caractères définie. "Lampe allumée" ne varie jamais ! C'est une phrase qui s'affiche en résultat d'une condition préalable ! Tu dois récupérer sur ta seconde page la variable qui elle est modifiée en fonction de l'état de la lampe, et après faire également un println() d'une phrase qui indique que la lampe est allumée si elle l'est. :)
Mais c'est déjà le cas. Si Lampe 2 == LOW alors on affiche lampe 2 éteinte. Si lampe 2 == HIGH alors on affiche lampe 2 allumée. Donc dans tous les cas lampe 2 allumée ou lampe 2 éteinte n'est pas affiché. Je pense donc que c'est possible. Même si c'est difficile a comprend ^^

Pour récupérer la valeur d'une page, enfin, son contenu plutot utilise : @file_get_contents("TON LIEN EXACTE");
Pourrais-je avoir plus d'informations ?

Merci beaucoup à vous !
 
Tu dois faire passer d'une page à l'autre la variable lampe 2 dans ton code c'est digitalread(2) ! Cette variable contiendra une valeur "HIGHT" ou "LOW" et sur ta deuxième page tu conditionnes l'affichage :
Si lampe 2 = HIGHT
Afficher lampe 2 allumée
Sinon
Afficher lampe 2 éteinte
 
D'accord donc j'envoie HIGH ou LOW sur ma première page, et ensuite sur la deuxième page je fait si HIGH alors lampe 2 allumée et si LOW alors lampe 2 éteinte.
Mais je ne voit pas comment envoyé HIGH ou LOW car c'est une variable lu par la carte. En aucun cas c'est affiché sur la première page WEB, seulement lampe 2 allumée ou lampe 2 éteinte peuvent être affiché.
 
D'accord donc j'envoie HIGH ou LOW sur ma première page, et ensuite sur la deuxième page je fait si HIGH alors lampe 2 allumée et si LOW alors lampe 2 éteinte.
Mais je ne voit pas comment envoyé HIGH ou LOW car c'est une variable lu par la carte. En aucun cas c'est affiché sur la première page WEB, seulement lampe 2 allumée ou lampe 2 éteinte peuvent être affiché.
Ta carte est pilotée par un programme qui utilise une fonction appelée : digitalRead().
A cette fonction est passé en paramètre un int dont la valeur est 2.

Cette fonction va utiliser ce paramètre pour réaliser une action.
En l’occurrence vu le nom et ce que renvoie cette fonction, ce sera surement vérifier si la lampe 2 (car on a passé 2 en paramètre) est allumée ou éteinte.

Cette fonction va donc renvoyer une valeur. Ici on comprend par la suite qu'elle va renvoyer HIGHT ou LOW.
Il s'agit, je pense, de 2 constantes définies plus haut dans le code. Par exemple HIGHT peut avoir la valeur 1 et LOW la valeur 0. Ou ce qui serait encore plus logique la valeur "true" et "false".

Sachant ceci, l'explication du code que tu as fournies est la suivante :
- On vérifie si la valeur renvoyée par la fonction digitalRead() est égale à HIGHT.
- Si c'est le cas, alors on sait que la lampe est allumée, donc on affiche "Lampe allumée".
- Sinon, on affiche que la lampe n'est pas allumée.

Donc si tu dois transmettre l'état de la lampe d'une page à l'autre tu dois transmettre une variable contenant cet état. L'état de la lampe ici est définit par digitalRead() donc c'est un variable contenant le résultat de cette fonction que tu dois transmettre.
Une fois transmis, sur ta seconde page tu devras à nouveau tester l'état de la lampe, si il est égal à HIGHT alors c'est allumé, sinon c'est éteint.

En espérant avoir été relativement clair, si y'a un point noir hésite pas ;)
 
Ta carte est pilotée par un programme qui utilise une fonction appelée : digitalRead().
A cette fonction est passé en paramètre un int dont la valeur est 2.

Cette fonction va utiliser ce paramètre pour réaliser une action.
En l’occurrence vu le nom et ce que renvoie cette fonction, ce sera surement vérifier si la lampe 2 (car on a passé 2 en paramètre) est allumée ou éteinte.

Cette fonction va donc renvoyer une valeur. Ici on comprend par la suite qu'elle va renvoyer HIGHT ou LOW.
Il s'agit, je pense, de 2 constantes définies plus haut dans le code. Par exemple HIGHT peut avoir la valeur 1 et LOW la valeur 0. Ou ce qui serait encore plus logique la valeur "true" et "false".

Sachant ceci, l'explication du code que tu as fournies est la suivante :
- On vérifie si la valeur renvoyée par la fonction digitalRead() est égale à HIGHT.
- Si c'est le cas, alors on sait que la lampe est allumée, donc on affiche "Lampe allumée".
- Sinon, on affiche que la lampe n'est pas allumée.

Donc si tu dois transmettre l'état de la lampe d'une page à l'autre tu dois transmettre une variable contenant cet état. L'état de la lampe ici est définit par digitalRead() donc c'est un variable contenant le résultat de cette fonction que tu dois transmettre.
Une fois transmis, sur ta seconde page tu devras à nouveau tester l'état de la lampe, si il est égal à HIGHT alors c'est allumé, sinon c'est éteint.

En espérant avoir été relativement clair, si y'a un point noir hésite pas ;)
Tu dit que HIGH à la valeur 1 et LOW valeur 0. Mais non c'est pas le cas. La carte Arduino lis HIGH, pour elle c'est "activé la sortie 2 pour allumée lampe 2" mais je ne voit pas du tout comment envoyée le fameux HIGH ^^
Si tu veut je peut te passer le programme complet mais en mp
 
Hum, je trouve étrange qu'un "Read" soit une fonction pour "écrire sur le port" :/ Je veux bien le code de la fonction digitalRead() où la doc de cette fonction :)
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut