Chercher valeurs dans .txt grâce à un cookie
microphilou
-
Enax Messages postés 204 Statut Membre -
Enax Messages postés 204 Statut Membre -
Bonjour,
Bonjour,
me revoilou après plusieurs jours de lecture et d'apprentissage du php. Merci encore à tous ceux qui m'avaient aidé il y a quelques temps pour une histoire de code METAR météo à extraire à partir d'un fichier txt. Ca été super sympa de m'aider comme ça.
Du coup, je me suis dis qu'il fallait vraiment que je me mette à ce langage php qui m'a l'ai vraiment très puissant.
Mais je bloque à nouveau sur un petit problème et j'espère donc que vous aurez la possibilité, vous les pro du php, de me filer un coup de main (euh... pas un coup de pied ! ;-) )
Voilà mon problème. Je commence à réussir à manipuler l'utilisation de cookies. Ca paraît simple pour certains évidemment mais pour moi, c'est pas évident.
A partir d'un formulaire, je créé donc un cookie qui s'enregistre sur le micro du visiteur et qui sauvegarde des préférences.
Mon cookie s'appelle : $_COOKIE["ville"]
il contient le nom de la ville enregistrée par l'utilisateur.
mon objectif est d'afficher les heures de lever et coucher de soleil pour la ville mémorisée dans le cookie.
Pour cela je dispose d'un fichier txt qui contient pour chaque ville, les coordonnées Latitude et longitude nécessaire au calcul et j'ai un autre fichier .js qui sert à calculer et afficher normalement les heures de lever et coucher de soleil pour la ville choisie.
Au départ, le fichier .js marchait pour une ville précise déjà rentrée dans le fichier .js avec ses coordonnées. C'est moi qui aimerait l'adapter pour le rendre plus paramétrable. Ca m'éviterait de faire un fichier .js pour x villes.
Le fichier txt s'appelle "coord_villes.txt"
Voilà sa structure :
Lille
50.9
-1.9
Boulogne
50.73
-1.6
etc....
La première ligne = nom de la ville
Deuxième ligne = Latitude
Troisième ligne = Longitude
Voilà ce que j'aimerais faire et que je n'arrive pas bien qu'ayant cherché tout seul comme un bon débutant sage et discipliné.... :-)
A partir de la valeur de la variable de mon cookie $_COOKIE["ville"]
je voudrais chercher dans le fichier txt la ville = $_COOKIE["ville"] et mettre la ligne qui suit dans une variable qu'on appellera $lat et celle d'après dans une variable $long.
Remarque : pas besoin de faire des test pour voir si la ville existe bien ou pas dans le fichier txt. On ne peut choisir au départ qu'une ville dans une liste définie. Le cookie créé sera une des villes disponibles dans le fichier txt.
Ca c'est le premier problème qui ne doit pas être très difficile pour des cracks du php ?
Mon second petit problème serait de récupérer ces 2 variables $lat et $long pour les utiliser dans un javascript. Est-ce possible ?
et si oui comment ?
Au départ, voici un peu comment est fait mon fichier .js
je déclare mes variables mais qui sont valables donc que pour une ville :
ville = 'Boulogne';
lat = 50.73;
long = -1.6;
puis il y a toute une série de fonctions
(...)
//calcul de l'heure de lever du soleil
VL=12-Hoh;
TL=VL+(ET/60)+(long*4/60)+F;
HL=Math.floor(TL);
if(HL<10){HL=String("0"+HL)};
ML=Math.floor((TL-HL)*60);
if(ML<10){ML=String("0"+ML)};
(...)
//calcul des crépuscules civils
//angle horaire
Hoccdeg=Math.acos((-0.105-Math.sin(dg*DEC)*Math.sin(dg*lat))/(Math.cos(dg*DEC)*Math.cos(dg*lat)))*rd;
Hocch=Hoccdeg/15;
je voudrais qu'à la place de long et lat, je puisse utiliser mes 2 variables récupérées $lat et $long
Est-ce que vous pourriez me donner un coup de main s'il vous plaît avec si possible du code et pas seulement des explications de l'algorithme que je dois faire car je n'ai pas assez de connaissances encore en php pour y arriver.
Je vous remercie en tout cas vraiment d'avance pour ceux qui auront le temps et l'envie de bien vouloir me donner ce coup de main.
Et merci sinon à tous ceux qui postent des réponses.On apprend beaucoup grâce à vous et à ce forum !!
Hors ligne
Bonjour,
me revoilou après plusieurs jours de lecture et d'apprentissage du php. Merci encore à tous ceux qui m'avaient aidé il y a quelques temps pour une histoire de code METAR météo à extraire à partir d'un fichier txt. Ca été super sympa de m'aider comme ça.
Du coup, je me suis dis qu'il fallait vraiment que je me mette à ce langage php qui m'a l'ai vraiment très puissant.
Mais je bloque à nouveau sur un petit problème et j'espère donc que vous aurez la possibilité, vous les pro du php, de me filer un coup de main (euh... pas un coup de pied ! ;-) )
Voilà mon problème. Je commence à réussir à manipuler l'utilisation de cookies. Ca paraît simple pour certains évidemment mais pour moi, c'est pas évident.
A partir d'un formulaire, je créé donc un cookie qui s'enregistre sur le micro du visiteur et qui sauvegarde des préférences.
Mon cookie s'appelle : $_COOKIE["ville"]
il contient le nom de la ville enregistrée par l'utilisateur.
mon objectif est d'afficher les heures de lever et coucher de soleil pour la ville mémorisée dans le cookie.
Pour cela je dispose d'un fichier txt qui contient pour chaque ville, les coordonnées Latitude et longitude nécessaire au calcul et j'ai un autre fichier .js qui sert à calculer et afficher normalement les heures de lever et coucher de soleil pour la ville choisie.
Au départ, le fichier .js marchait pour une ville précise déjà rentrée dans le fichier .js avec ses coordonnées. C'est moi qui aimerait l'adapter pour le rendre plus paramétrable. Ca m'éviterait de faire un fichier .js pour x villes.
Le fichier txt s'appelle "coord_villes.txt"
Voilà sa structure :
Lille
50.9
-1.9
Boulogne
50.73
-1.6
etc....
La première ligne = nom de la ville
Deuxième ligne = Latitude
Troisième ligne = Longitude
Voilà ce que j'aimerais faire et que je n'arrive pas bien qu'ayant cherché tout seul comme un bon débutant sage et discipliné.... :-)
A partir de la valeur de la variable de mon cookie $_COOKIE["ville"]
je voudrais chercher dans le fichier txt la ville = $_COOKIE["ville"] et mettre la ligne qui suit dans une variable qu'on appellera $lat et celle d'après dans une variable $long.
Remarque : pas besoin de faire des test pour voir si la ville existe bien ou pas dans le fichier txt. On ne peut choisir au départ qu'une ville dans une liste définie. Le cookie créé sera une des villes disponibles dans le fichier txt.
Ca c'est le premier problème qui ne doit pas être très difficile pour des cracks du php ?
Mon second petit problème serait de récupérer ces 2 variables $lat et $long pour les utiliser dans un javascript. Est-ce possible ?
et si oui comment ?
Au départ, voici un peu comment est fait mon fichier .js
je déclare mes variables mais qui sont valables donc que pour une ville :
ville = 'Boulogne';
lat = 50.73;
long = -1.6;
puis il y a toute une série de fonctions
(...)
//calcul de l'heure de lever du soleil
VL=12-Hoh;
TL=VL+(ET/60)+(long*4/60)+F;
HL=Math.floor(TL);
if(HL<10){HL=String("0"+HL)};
ML=Math.floor((TL-HL)*60);
if(ML<10){ML=String("0"+ML)};
(...)
//calcul des crépuscules civils
//angle horaire
Hoccdeg=Math.acos((-0.105-Math.sin(dg*DEC)*Math.sin(dg*lat))/(Math.cos(dg*DEC)*Math.cos(dg*lat)))*rd;
Hocch=Hoccdeg/15;
je voudrais qu'à la place de long et lat, je puisse utiliser mes 2 variables récupérées $lat et $long
Est-ce que vous pourriez me donner un coup de main s'il vous plaît avec si possible du code et pas seulement des explications de l'algorithme que je dois faire car je n'ai pas assez de connaissances encore en php pour y arriver.
Je vous remercie en tout cas vraiment d'avance pour ceux qui auront le temps et l'envie de bien vouloir me donner ce coup de main.
Et merci sinon à tous ceux qui postent des réponses.On apprend beaucoup grâce à vous et à ce forum !!
Hors ligne
A voir également:
- Chercher valeurs dans .txt grâce à un cookie
- Supprimer cookie - Guide
- 400 bad request request header or cookie too large ✓ - Forum Réseaux sociaux
- Trouver un nom grace a une adresse ✓ - Forum Loisirs / Divertissements
- Excel liste de valeurs - Guide
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif ci-dessous. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. il manque 5 valeurs dans le tableau ci-dessous. retrouvez-les dans votre tableau, puis reportez-les arrondies à l’entier le plus proche. - Guide
4 réponses
Voici pour la première partie :
(Je préfère ne pas commenter et te laisser comprendre par toi même les instructions. Si ça reste obscur, j'expliquerais.)
Pour récupérer ces valeurs, tu peux les écrire dans ton code HTML dans des champs cachés qui n'apparaîtront pas sur la page, mais dont tu pourras récupérer les valeurs avec du JS.
(Je préfère ne pas commenter et te laisser comprendre par toi même les instructions. Si ça reste obscur, j'expliquerais.)
<?php
$villes = file('coord_villes.txt');
$taille_villes = count($villes);
for(i = 0 ; i < $taille_villes ; i++)
if($villes[$i] == $_COOKIE['ville'])
break;
$lat = $villes[$i + 1];
$long = $villes[$i + 2];
?>
Pour récupérer ces valeurs, tu peux les écrire dans ton code HTML dans des champs cachés qui n'apparaîtront pas sur la page, mais dont tu pourras récupérer les valeurs avec du JS.
Salut enax
merci pour ton aide, c super sympa
le code ne fonctionne pas, tu as du oublier les $ à i non ?
j'ai mis for($i = 0 ;$i < $taille_villes ; $i++)
mais ça ne marche pas non plus
tu as pas une idée ?
merci pour ton aide, c super sympa
le code ne fonctionne pas, tu as du oublier les $ à i non ?
j'ai mis for($i = 0 ;$i < $taille_villes ; $i++)
mais ça ne marche pas non plus
tu as pas une idée ?
Bon, j'ai trouvé la solution grâce à ton code.
il faut utiliser la fonction trim
<?php
// Nom du fichier
$fichier = file("villes.txt");
$total_lignes = count($fichier); // Nombre total des lignes du fichier
// Départ de la boucle
for($i = 0; $i < $total_lignes; $i++)
{
if (trim($fichier[$i]) == $_COOKIE['ville'])
break;
} // Fin de la boucle
$lat = $fichier[$i + 1];
$long = $fichier[$i + 2];
?>
Par contre, comment faire pour utiliser mes 2 variables $lat et $long pour qu'elles soient utilisables dans une page html qui appelle un fichier lever_coucher.js qui aura lui besoin de ces 2 variables ?
il faut utiliser la fonction trim
<?php
// Nom du fichier
$fichier = file("villes.txt");
$total_lignes = count($fichier); // Nombre total des lignes du fichier
// Départ de la boucle
for($i = 0; $i < $total_lignes; $i++)
{
if (trim($fichier[$i]) == $_COOKIE['ville'])
break;
} // Fin de la boucle
$lat = $fichier[$i + 1];
$long = $fichier[$i + 2];
?>
Par contre, comment faire pour utiliser mes 2 variables $lat et $long pour qu'elles soient utilisables dans une page html qui appelle un fichier lever_coucher.js qui aura lui besoin de ces 2 variables ?
Plutôt que le fonction trim(), utilises $fichier = file("villes.txt", FILE_IGNORE_NEW_LINES); pour ouvrir ton fichier. Pour l'oublie des $, c'est parce que j'étudie le C en ce moment. ^_^
Pour récupérer les valeurs :
Dans le code de ta page:
Dans ton fichier JS:
Pour récupérer les valeurs :
Dans le code de ta page:
<input type="hidden" id="latitude" value="<?php echo $lat; ?>" /> <input type="hidden" id="longitude" value="<?php echo $long; ?>" />
Dans ton fichier JS:
var lat = document.getElementById("lattitude").value;
var long = document.getElementById("longitude").value;