IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

variable $temperature


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut variable $temperature
    Bonjour,

    J'ai le script suivant qui me permet de récupérer la température d'une station météo.
    Ce script doit être appelé toutes les heures par une tâche cron.

    Le problème est le suivant, la variable $temperature dans la fonction UPDATE n'est pas reconnue.
    Si je la code en dur par exemple $temperature = "25.3", la fonction UPDATE fonctionne correctement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <?php
     
    include("misc_12.php");
     
    $json = file_get_contents("http://api.wunderground.com/api/3673392229c5182b/conditions/lang:FR/pws:1/q/pws:IPAYSDEL73.json");
    $parsed_json = json_decode($json);
    $temperature = $parsed_json->{'current_observation'}->{'temp_c'};
     
    $date = date("d");
     
    if ($date == "01")
    {
    $date = 1;
    }
    elseif ($date == "02")
    {
    $date = 2;	
    }
    elseif ($date == "03")
    {
    $date = 3;	
    }
    elseif ($date == "04")
    {
    $date = 4;	
    }
    elseif ($date == "05")
    {
    $date = 5;	
    }
    elseif ($date == "06")
    {
    $date = 6;	
    }
    elseif ($date == "07")
    {
    $date = 7;	
    }
    elseif ($date == "08")
    {
    $date = 8;	
    }
    elseif ($date == "09")
    {
    $date = 9;	
    }
     
    $texte1 = "date24";
     
    $heure = date("H:i");
     
    $heure_1 = substr($heure,0,2);
    $minute_1 = substr($heure,3,2);
     
    $texte2 = "1400";
     
    // Définition des paramètres pour une connexion sur la base de données - Ecriture de la température
     
    $base = mysql_connect ($host12, $user12, $password12);			 
            mysql_query("SET NAMES 'utf8'");
    		mysql_select_db ($database12,$base) ;		
     
     
    // Lancement de la requête pour écrire la température de la station
     
    $base1 = "UPDATE temperatureMeteo SET $texte1 = '$temperature' WHERE heure = '$texte2'";
     
    $query = $base1;
    $result = mysql_query($query)
              or die ("Exécution de la requête impossible");
     
    mysql_close();	
    ?>

    Merci d'avance de m'indiquer comment passer la variable pour que la fonction UPDATE fonctionne.

    Samuel PATARIN

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    Pas reconnue ? C'est à dire ? Message d'erreur ?

  3. #3
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut variable $temperature
    Si je lance le script tel quel à l'aide d'une tâche cron, aucune donnée n'est inscrite dans la base.
    Si une donnée est déjà inscrite dans la base, celle ci est effacée.

    Si je code la valeur en dur par exemple : $temperature = "25.4" celle ci est correctement inscrite.

    Merci d'avance pour votre aide.

    Samuel PATARIN

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    Si quand la valeur est rentrée en dur cela fonctionne, cela ne veut-t-il pas dire que la variable $temperature que vous essayez de transmettre ne contient pas la valeur que vous désirez ?
    Si vous faites un echo $temperature juste après l'avoir remplie elle contient bien quelque chose ?

  5. #5
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut variable $temperature
    Si je fais un echo $temperature j'ai bien la valeur qui s'affiche.
    D'ailleurs si je teste le script sans lancer la tache cron, tout s'exécute normalement.

    Merci d'avance.

    Samuel PATARIN

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    Ne seriez-vous pas, par hasard, derrière un proxy ?

    Etant donné que vous allez récupérer votre température sur internet, il se pourrait que le proxy empêche Cron d'y accéder

  7. #7
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut variable $temperature
    Non je ne suis pas derrière un proxy

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Contrôle ce qui se passe quand tu executes le cron alors, ce que tu recuperes du site.
    Tu as la fonction error_log pour te simplifier la vie
    http://php.net/manual/fr/function.error-log.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    Je pense que le problème vient du fait des restrictions de sécurité.

    De ce fait la fonction file_get_contents() ne fonctionne pas.

    Essayez de faire télécharger le code html à parser par cron, puis parsez le en local.

    Cela devrait fonctionner

  10. #10
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut variable $temperature
    Pour sabotage : Est ce que vous pourriez me donner un exemple pour utiliser error_log dans mon script car je ne sais pas comment faire ?

    Pour Teebus : Je ne comprend pas : Essayez de faire télécharger le code html à parser par cron, puis parsez le en local.

    Que signifie parser le code html par cron ?
    Parsez en local ?

    Merci d'avance.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    Au lieu de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file_get_contents("http://api.wunderground.com/api/3673392229c5182b/conditions/lang:FR/pws:1/q/pws:IPAYSDEL73.json")
    Récupérez le code source de cette page à part, et faites en sorte que votre script fasse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $json = file_get_contents("fichier_local.json");
    $parsed_json = json_decode($json);
    $temperature = $parsed_json->{'current_observation'}->{'temp_c'};
    avec fichier_local.json contenant le code de la page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://api.wunderground.com/api/3673392229c5182b/conditions/lang:FR/pws:1/q/pws:IPAYSDEL73.json

  12. #12
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut variable $temperature
    J'ai appliqué la méthode décrite par Teebus et la tache cron fonctionne, mais maintenant comment relie le fichier_local.json et l'adresse web pour que la température soit mise à jour en temps réel ?

    Merci d'avance.

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    Demander à Cron de télécharger le fichier de manière régulière ?

  14. #14
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut variable $temperature
    Oui mais comment ?

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 29
    Points : 28
    Points
    28
    Par défaut
    avec wget

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    Faudrait peut être déjà en savoir plus sur l'environnement où le script est exécuté.

    Si file_get_contents() est bloqué, wget et curl le sont probablement aussi.

  17. #17
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut variable $temperature
    Comment le vérifier ?

  18. #18
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut Fichier JSON URL
    Bonjour,

    Je cherche à enregistrer une URL JSON toutes les heures à l'aide d'une tache cron.
    Comme file_get_contents est bloqué, je cherche à copier le contenu de cette URL dans un fichier (fichier_local.json)

    J'ai donc commencé le script suivant mais je bloque.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
        $fp = fopen ("http://api.wunderground.com/api/3673392229c5182b/conditions/lang:FR/pws:1/q/pws:IPAYSDEL73.json", "r");
        $contenu_du_fichier = fread ($fp, filesize('http://api.wunderground.com/api/3673392229c5182b/conditions/lang:FR/pws:1/q/pws:IPAYSDEL73.json'));
     
    	fclose ($fp);
     
        $json = json_decode ($contenu_du_fichier);
     
    ?>


    Je cherche donc à copier le contenu de l'URL dans un fichier JSON.

    Merci d'avance.

    Samuel PATARIN

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comment ça file_get_contents() est bloqué ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut variable $temperature
    Je n'arrive pas a récupérer la variable $temperature avec une tache cron.
    Le script suivant ne me permet pas de récupérer la variable $temperature

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <?php
     
    include("misc_12.php");
     
    $json = file_get_contents("http://api.wunderground.com/api/3673392229c5182b/conditions/lang:FR/pws:1/q/pws:IPAYSDEL73.json");
    $parsed_json = json_decode($json);
    $temperature = $parsed_json->{'current_observation'}->{'temp_c'};
     
    $date = date("d");
     
    if ($date == "01")
    {
    $date = 1;
    }
    elseif ($date == "02")
    {
    $date = 2;	
    }
    elseif ($date == "03")
    {
    $date = 3;	
    }
    elseif ($date == "04")
    {
    $date = 4;	
    }
    elseif ($date == "05")
    {
    $date = 5;	
    }
    elseif ($date == "06")
    {
    $date = 6;	
    }
    elseif ($date == "07")
    {
    $date = 7;	
    }
    elseif ($date == "08")
    {
    $date = 8;	
    }
    elseif ($date == "09")
    {
    $date = 9;	
    }
     
    $texte1 = "date24";
     
    $heure = date("H:i");
     
    $heure_1 = substr($heure,0,2);
    $minute_1 = substr($heure,3,2);
     
    $texte2 = "1400";
     
    // Définition des paramètres pour une connexion sur la base de données - Ecriture de la température
     
    $base = mysql_connect ($host12, $user12, $password12);			 
            mysql_query("SET NAMES 'utf8'");
    		mysql_select_db ($database12,$base) ;		
     
     
    // Lancement de la requête pour écrire la température de la station
     
    $base1 = "UPDATE temperatureMeteo SET $texte1 = '$temperature' WHERE heure = '$texte2'";
     
    $query = $base1;
    $result = mysql_query($query)
              or die ("Exécution de la requête impossible");
     
    mysql_close();	
    ?>

    J'ai donc suivi les conseils de Teebus et tente de créer un fichier fichier_local.json à partir de l'URL.

    Merci d'avance

Discussions similaires

  1. Problème variable.
    Par deviante dans le forum MFC
    Réponses: 3
    Dernier message: 27/01/2006, 17h27
  2. Problème variable et objet
    Par Hacken dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/09/2005, 14h10
  3. [javascript] Problème variable globale !!!!
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 08/08/2005, 16h41
  4. [Rave report 5.1.3][delphi 7] Probléme variable PIVar
    Par GILLESKLEIN dans le forum Rave
    Réponses: 2
    Dernier message: 05/02/2005, 15h27
  5. problème variable extern
    Par HeKaz dans le forum C
    Réponses: 14
    Dernier message: 08/01/2003, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo