Aller au contenu

Insérer une image issue d'une URL


Sujets conseillés

Posté (modifié)

Bonsoir,

Bon je vais essayer de vous poser ma question en étant le plus clair possible (c'est pas gagné)

J'aimerai afficher la météo sur mon site, pour celà j'utilise la météo proposée par Free (http://support.free.fr/web/pperso/meteo.html).

Free propose donc d'afficher la météo d'un département (ou de plusieurs) simplement en intégrant le lien de l'image dans une page web. Jusque là rien de compliqué.

Pour mon site, je ne veux pas une météo fixe qui concernerait un seul département, c'est évident. Je ne peux pas non plus me permettre d'afficher les 96 départements sur une page, bonjour le pavé et niveau esthétique peu mieux faire

J'ai donc créé une liste déroulante avec les 96 départements accompagnée d'un bouton tout simple qui valide le choix et renvoie sur l'url de la météo du département concerné.

Seulement, j'aimerai insérer cette image sur mon site. Vous voyez ce que je veux dire ? A savoir que lorsque le visiteur valide son choix, au lieu de tomber sur une page blanche avec le petit encadré météo en haut à gauche, il le retrouverait sur mon site. Et si il voulait la météo d'un autre département il lui suffirait simplement de faire à nouveau un choix dans la liste et de valider pour voir apparaître l'image à la place de la météo précédente.

Je ne sais pas si c'est très clair lol, difficile à expliquer et surtout difficile à mettre en oeuvre (je suis débutant en même temps alors ce qui est difficile pour moi l'est rarement pour les autres).

Si quelqu'un pouvait m'indiquer comment procéder, ça m'aiderai vraiment

Merci d'avance :blush:

Modifié par Badr3am
Posté

Il te faut un langage de programmation coté serveur, type php.

Avec cela, tu as 2 choses à faire. D'un coté, le formulaire, qui s'appelle elle même.

Ca te donne ceci :

<form name=machin method=POST>

<select name=truc>

<option value=01>Ain</option>

<option value=02>Aisne</option>

<option value=03>Allier</option>

</select>

</form>

Ensuite, il te faut le programme qui permette d'afficher l'image, et qui sera ainsi :

<img src=&quot;http://perso0.free.fr/cgi-bin/meteo.pl?dep=<?=$_POST['truc']?>">

Voilà,

Anonymus.

Posté

Bonsoir,

Merci pour ta réponse Anonymus, je vais essayer ça, je n'y connais rien en Php donc j'espère que je vais savoir comment insérer tout ça lol ... Je te tiens au courant.

Merci encore.

Posté (modifié)

Re ...

Je suis nul je n'arrive pas à faire fonctionner le script ... L'image reste désespérément blanche avec la croix rouge et ceci quelque soit le choix que je fasse dans le menu. Je n'arrive d'ailleurs pas à faire en sorte que le bouton valide le choix et affiche l'image. :unsure:

[Au passage désolé pour le sujet que j'avais placé sur la partie HTML mais je ne savais pas quel langage utiliser pour ce code alors voilà ... Merci de l'avoir déplacé]

Modifié par Badr3am
Posté

Salut ;)

Sans ton code, on aura du mal à voir ce que tu fais sur ton site... Le php en plus ne peut se voir qu'à partir du code, donc on aurait bien du mal à te dire où est l'erreur !

Au lieu d'afficher l'image, pour l'instant, affiche donc l'url de l'image, tu verras déjà mieux ce que tu mets comme url...

Ensuite il nous faudrait le code :D

Posté (modifié)

Bonjour,

Pour ce qui est du code que j'ai réalisé avant de poster ici, il était de comme suit :

<html>
<head>
<title></title>
</head>

<body>

<table>
<tr>
  <td align="center">
  <img src="http://perso0.free.fr/cgi-bin/meteo.pl?dep=01">
  </td>
</tr>
<tr>
  <td align="center">
  <form name="meteo" method="post">
  <select name="select" style="font-family: arial;font-size: 10px">
  <option value="http://perso0.free.fr/cgi-bin/meteo.pl?dep=01">Ain</option>
  <option value="http://perso0.free.fr/cgi-bin/meteo.pl?dep=02">Aisne</option>
  <option value="http://perso0.free.fr/cgi-bin/meteo.pl?dep=03">Allier</option>
  <option value="http://perso0.free.fr/cgi-bin/meteo.pl?dep=04">Alpes-de-Haute-Provence</option>
  <option value="http://perso0.free.fr/cgi-bin/meteo.pl?dep=05">Hautes-Alpes</option>
  <option value="http://perso0.free.fr/cgi-bin/meteo.pl?dep=06">Alpes-Maritimes</option>

...

[Je coupe parce que la liste reprend les 96 départements]

...

  <option value="http://perso0.free.fr/cgi-bin/meteo.pl?dep=93">Seine-Saint-Denis</option>
  <option value="http://perso0.free.fr/cgi-bin/meteo.pl?dep=94">Val-de-Marne</option>
  <option value="http://perso0.free.fr/cgi-bin/meteo.pl?dep=95">Val-d'Oise</option>
  </select>
  </form>
  </td>
</tr>
<tr>
  <td align="center">
  <input type="button" onClick="location=document.meteo.select.options[document.meteo.select .selectedIndex].value;" style="font-family: arial;font-size: 10px" value="Voir la météo">
  </td>
</tr>
</table>

</body>

</html>

Avec ce code, j'obtiens au départ une page avec une image de la météo par défaut suivie d'une liste déroulante et d'un bouton pour valider le choix. En sélectionnant un département et en validant, le visiteur est redirigé vers l'url de la météo (à savoir page blanche avec le ptit encadré en haut à gauche)

Je voulais donc que le choix s'affiche à la place de l'image par défaut.

J'ai essayé d'utiliser le code de Anonymus mais je pense que je l'utilise mal (je suis plus que débutant quand il s'agit d'utiliser du php ...)

Voilà donc mon soucis, j'aimerai que l'image de la météo s'affiche sur ma page web et non pas être redirigé vers la page blanche.

Je ne sais pas trop si c'est clair encore une fois :blush:

Modifié par Badr3am
Posté

En javascript ca se fait aussi tres bien. Pour mettre a jour l'image, ca donnerait qq chose du genre.

document.getElementById('nom_image').src=url_donnee_par_free;

Il n'y a juste qu'un onchange() a ajouter sur la liste.

Posté

Pfiouuu je suis complètement perdu entre le JavaScript et le Php je ne sais plus quoi utiliser ... Je crois que je mélange les codes :wacko:

Posté

Bonsoir,

Bon étant donné que je ne suis pas parvenu à adapter ma liste déroulante comme je le souhaitais, j'ai trouvé (après bien des recherches) un petit script en php/mySQL qui présente toutefois une erreur.

Je vous post le code :

<?php

/* ------------------------------------
  Free-Météo V1.0 par Christophe MEYER
  http://stombi.free.fr/
  E-Mail : stombi_AT_free.fr
  ------------------------------------
*/

echo "<body bgcolor=#000000>";


require ("cfg-meteo.php3");


if ($dept == "") {
    $dept="34";
        }  

$ide= MYSQL_CONNECT($host,$user,$pass);
mysql_select_db("$bdd");
$query = "SELECT * FROM meteo WHERE departem=$dept";
$result = mysql_query($query,$ide);
$de = mysql_num_rows($result);

$p=0;
while($p<$de){
 $dept=mysql_result($result,$p,"departem");
 $nomdept=mysql_result($result,$p,"nomdepartem");
$p++;
}


echo ("
<br>
<table width=110 border=1 cellspacing=0 cellpadding=5 bordercolor=#FFFFFF align=center>
 <tr>
   <td>
     <table width=100% border=0 cellspacing=3 cellpadding=0>
       <tr>
         <td>
           <div align=center><b><font face=verdana size=2 color=#ffffff>METEO</b></font></div>
         </td>
       </tr>
       <tr>
         <td><font face=verdana size=1 color=#ffffff>$nomdept</font></td>
       </tr>
       <tr>
         <td align=center><img src=http://perso0.free.fr/cgi-bin/meteo.pl?dep=$dept></td>
       </tr>
       <tr>
         <td align=center><font face=verdana size=1 color=#ffffff>Votre n° de département
           :</font></td>
       </tr>
       <tr>
         <td align=center>
           <form method=post action=meteo.php3>
               <input type=text name=dept size=2 maxlength=2>
               <input type=submit name=deptok value=Ok>
             </form>
         </td>
       </tr>
     </table>
   </td>
 </tr>
</table>");


mysql_close();
?>

Avec ce code il y a un code de config pour le mySQL et un dernier code qui liste les 96 départements.

J'ai donc fait un include dans ma page HTML vers le fichier en php3 et je trouve le message d'erreur suivant :

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/d/b/preventionrisques/meteo.php3 on line 40

La ligne incriminée est la suivante :

$de = mysql_num_rows($result);

J'ai cru comprendre en me documentant que le script ne trouvait pas la base de données, je ne comprend pas trop.

- J'ai testé le script "seul" en ne l'insérant pas dans ma page, il fonctionne parfaitement mais il y a ce message erreur juste au dessus.

- J'ai testé le script "intégré" à ma page et il ne fonctionne pas (il n'apparaît même pas) seule l'erreur est affichée à l'endroit où le code devrait apparaître.

Je n'y connais strictement rien en php, j'apprend en parcourrant ce code et je me familliarise un peu avec ce langage en essayant de modifier les champs pour résoudre le problème mais je ne parviens pas à savoir d'où il vient.

Quelqu'un peut m'éclairer ? :hypocrite:

Posté (modifié)
Pfiouuu je suis complètement perdu entre le JavaScript et le Php je ne sais plus quoi utiliser ... Je crois que je mélange les codes  :wacko:

<{POST_SNAPBACK}>

Ben,

l'avantage du PHP, c'est que t'es sur que ca fonctionne chez n'importe quelle visiteur.

L'inconvegnant etant que tu as des aller/retour entre le navigateur et ton serveur.

L'avantage du JS, c'est que tu n'as pas d'aller retour car tout est gerer un local sur le navigateur.

Les inconveignants sont que ca ne fonctionnera pas si le javascript est devalide sur le client (surprise ... :D ), et il faut que tu generes la liste de tous les associations Departement/Javascript mais ce ne devrait pas etre un gros probleme.

Personnelement, je choisirai le javascript pour ne pas avoir de requetes inutiles vers mon serveur.

Modifié par destroyedlolo
Posté

Bonjour destroyedlolo,

Je suis d'accord avec toi concernant les inconvénients du php, mais au delà de ça c'est surtout les connaissances qui me manquent ...

Je me suis appuyé sur du php parce que je ne sais pas comment faire autrement et que je ne parviens pas à obtenir ce que je veux sous JS :unsure:

Posté (modifié)

J'ai rapidement modifié ton code pour obtenir ce que tu voulais :

Tout est en php, pas de java script: cela recharge la page quand tu clique sur "voir la météo"

<html>
<head>
<title></title>
</head>

<body>

<table>
<tr>
 <td align="center">
<? $departement=1;
if (isset($_POST['select'])) {
$departement=$_POST['select'];
}
?>
 <img src="http://perso0.free.fr/cgi-bin/meteo.pl?dep=<?php echo $departement; ?>">
 </td>
</tr>
<tr>
 <td align="center">
 <form name="meteo" method="post" action="testmeteo.php">
 <select name="select" style="font-family: arial;font-size: 10px">
 <option value="01" <? if ($departement==1) echo 'selected' ?>>Ain</option>
 <option value="02" <? if ($departement==2) echo 'selected' ?>>Aisne</option>
 <option value="03" <? if ($departement==3) echo 'selected' ?>>Allier</option>
 <option value="04" <? if ($departement==4) echo 'selected' ?>>Alpes-de-Haute-Provence</option>
 <option value="05" <? if ($departement==5) echo 'selected' ?>>Hautes-Alpes</option>
 <option value="06" <? if ($departement==6) echo 'selected' ?>>Alpes-Maritimes</option>

 <option value="93" <? if ($departement==93) echo 'selected' ?>>Seine-Saint-Denis</option>
 <option value="94" <? if ($departement==94) echo 'selected' ?>>Val-de-Marne</option>
 <option value="95" <? if ($departement==95) echo 'selected' ?>>Val-d'Oise</option>
 </select>
 </td>
</tr>
<tr>
 <td align="center">
 <input type="submit" value="Voir la météo">
 </td>
</tr>
 </form>

</table>

</body>

</html>

N'hesite pas a poser des questions si cela ne te parait pas clair

Modifié par Chark
Posté

Bonjour Chark,

Merci pour ton coup de main ça m'aide vraiment le code que tu as posté. Il me reste plu qu'à faire afficher le numéro et le nom du département au dessus de la vignette météo et j'ai enfin ce que j'espérais.

Merci encore pour le coup de main c'est sympa :D

Posté (modifié)

De rien, c'est un plaisir.

Tu sais, j'ai si souvent obtenu des réponses grace aux forums du hub ( bien que je n'ai rarement posé de questions directes et qu'en parcourant les post j'y ai souvent trouvé un sujet qui m'a aidé ). La communauté de webmaster-hub est vraiment super.

Alors je trouve que c'est un juste retour des choses d'aider lorsque j'en suis capable.

Modifié par Chark
Posté

J'avoue que moi je n'y connais pas grand chose et comme je suis totalement débutant je n'ai pas grands conseils à indiquer. Surtout en Php ... La preuve je galère constamment dés que je veux faire la moindre chose je passe des heures sur les sites de cours, sur les exemples etc pour voir comment m'en sortir et afficher ce que j'aimerai.

Même là afficher le num de département et le nom j'y arrive pas :unsure:

Posté

Bonsoir,

Je voulais savoir si quelqu'un pouvais m'indiquer comment conditionner un affichage (echo) à un choix dans une liste déroulante ? En utilisant l'aide de Chark j'aimerai faire apparaître le num de département et le nom de ce même département à chaque choix.

Pour le numéro c'est pas un problème de faire afficher la variable mais pour le nom je n'y parviens pas ...

Merci d'avance ^_^

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...