Script PHP per previsioni meteo

17 contenuti / 0 new
Ultimo contenuto
Script PHP per previsioni meteo

Ho usato uno script di www.itmeteo.it per creare una pagina per le previsioni del tempo...

<?php
//format the query
$finalquery = stripslashes($citta_input);
if (
eregi ("http:\/\/|file:\/\/|ftp:\/\/", $finalquery)  )
    {
   
$finalquery=$finalquery;
    }
    else {
   
$finalquery="<a href="http://www.ilmeteo.it/meteo.php?citta_input="" rel="nofollow">http://www.ilmeteo.it/meteo.php?citta_input="</a> . $finalquery;
   
}
echo (
"           
<table width="
100%" border="0" cellspacing="0" cellpadding="5" align=center class="tabletable">
  <tr>
    <td align="
center" valign="middle" class="tableHeaderTD">
      <div align="
center"><b>METEO ITALIA</b></div>
    </td>
  </tr>
  <tr>
    <td align="
center" valign="middle">
<form action="" method="
post">
               <select size="
1" name="citta_input">
        <option selected>Seleziona una città</option>
                 <option>Agrigento</option>
    <option>Alessandria</option>
    <option>Ancona</option>
    <option>Aosta</option>
    <option>Arezzo</option>
    <option>Ascoli Piceno</option>
    <option>Asti</option>
    <option>Avellino</option>
    <option>Bari</option>
    <option>Belluno</option>
    <option>Benevento</option>
    <option>Bergamo</option>
    <option>Biella</option>
    <option>Bologna</option>
    <option>Bolzano</option>
    <option>Brescia</option>
              <option>Brindisi</option>
              <option>Cagliari</option>
              <option>Caltanissetta</option>
              <option>Campobasso</option>
              <option>Caserta</option>
              <option>Catania</option>
              <option>Catanzaro</option>
              <option>Chieti</option>
              <option>Como</option>
              <option>Cosenza</option>
              <option>Cremona</option>
              <option>Crotone</option>
              <option>Cuneo</option>
              <option>Enna</option>
              <option>Ferrara</option>
              <option>Firenze</option>
              <option>Foggia</option>
              <option>Forlì</option>
              <option>Frosinone</option>
              <option>Genova</option>
              <option>Gorizia</option>
              <option>Grosseto</option>
              <option>Imperia</option>
              <option>Isernia</option>
              <option>La Spezia</option>
              <option>L'Aquila</option>
              <option>Latina</option>
              <option>Lecce</option>
              <option>Lecco</option>
              <option>Livorno</option>
              <option>Lodi</option>
              <option>Lucca</option>
              <option>Macerata</option>
              <option>Mantova</option>
              <option>Massa</option>
              <option>Matera</option>
              <option>Messina</option>
              <option>Milano</option>
              <option>Modena</option>
              <option>Napoli</option>
              <option>Novara</option>
              <option>Nuoro</option>
              <option>Oristano</option>
              <option>Padova</option>
              <option>Palermo</option>
              <option>Parma</option>
              <option>Pavia</option>
              <option>Perugia</option>
              <option>Pesaro</option>
              <option>Pescara</option>
              <option>Piacenza</option>
              <option>Pisa</option>
              <option>Pistoia</option>
              <option>Pordenone</option>
              <option>Potenza</option>
              <option>Prato</option>
              <option>Ragusa</option>
              <option>Ravenna</option>
              <option>Reggio Calabria</option>
              <option>Reggio Emilia</option>
              <option>Rieti</option>
              <option>Rimini</option>
              <option>Roccaraso</option>
              <option>Roma</option>
              <option>Rovigo</option>
              <option>Salerno</option>
              <option>S.Marino500m</option>
              <option>Sassari</option>
              <option>Savona</option>
              <option>Siena</option>
              <option>Siracusa</option>
              <option>Sondrio</option>
              <option>Taranto</option>
              <option>Teramo</option>
              <option>Terni</option>
              <option>Torino</option>
              <option>Trapani</option>
              <option>Trento</option>
              <option>Treviso</option>
              <option>Trieste</option>
              <option>Udine</option>
               <option>Urbino</option>
              <option>Varese</option>
              <option>Venezia</option>
              <option>Verbania</option>
              <option>Vercelli</option>
              <option>Verona</option>
              <option>Vibo Valentia</option>
              <option>Vicenza</option>
              <option>Viterbo</option>
            </select>
  <input value="
VAI" type="submit">
      </form>
    </td>
  </tr>
</table>
<iframe width="
100%" height="300" frameborder="no" scrolling="no" src="$finalquery"> </iframe>
      <p>&nbsp;</p>
      <table width="
100%"  border="0" align="center">
        <tr align="
center" valign="middle">
          <td><img src="
<a href="http://www.ilmeteo.it/italy1.gif"" rel="nofollow">http://www.ilmeteo.it/italy1.gif"</a> width="210" height="240"></td>
          <
td><img src="<a href="http://www.ilmeteo.it/italy2.gif"" rel="nofollow">http://www.ilmeteo.it/italy2.gif"</a> width="210" height="240"></td>
         
<td><img src="<a href="http://www.ilmeteo.it/italy3.gif"" rel="nofollow">http://www.ilmeteo.it/italy3.gif"</a> width="210" height="240"></td>
       
</tr>
        <
tr align="center" valign="middle">
          <
td>&nbsp;</td>
          <
td>&nbsp;</td>
          <
td>&nbsp;</td>
        </
tr>
        <
tr align="center" valign="middle">
          <
td colspan="3">Powered by<strong><big> &middot; </big></strong> &copy; <a href="<a href="http://www.ilmeteo.it"" rel="nofollow">http://www.ilmeteo.it"</a> target="_blank">IlMeteo.it</a> <strong><big> &middot; </big></strong> Script by &copy; <a href="<a href="http://www.camunicando.it"" rel="nofollow">http://www.camunicando.it"</a> target="_blank">CamuniCando.it</a> </td>
       
</tr>
      </
table>
");
//shut her down
$finalquery=foo;
?>

Il problema è che non funziona(non riesco a selezionare la città per le previsioni)

Penso che (parlo da ignorante in PHP) non venga restituita la variabile della città nel source dell' IFRAME

Come posso risolvere?

Grazie!

dove l'hai inserito? Prova a scrivere print al post di echo

ho creato una nuova pagina in php e lì ho messo il codice....

ho messo print ma non è cambiato nulla... l'iframe non riceve la città corretta e rimane sempre fisso su milano...

mhà, così a occhio ripenserei a come crei il tutto, crearsi un bel form con $form[] di Drupal e poi usare get_form()? Innanzitutto è una soluzione più elegante (e mi dirai chi se ne frega :)), poi hai tutto il controllo contro l'inserimetoo di parametri non desiderarti tramite i meccanismi di Drupal, puoi aggiungere tute le cose che ti servono.. meglio ancora se trasformi il tutto in un modulo, se hai giusto un form di quel tipo fai in fretta...

Ciao
Marco
--
My blog
Working at @agavee

no no assolutamente.. mi interessa eccome... se posso fare un lavoro fatto meglio... perchè no

però per imparare ho bisogno di vedere un esempio almeno una volta... non è che puoi spiegarmi meglio? C'è una lista con spiegazione dei comandi di drupal tipo quelli che mi hai postato?

Mi potresti spiegare meglio come posso creare il form etc?

Il modulo mi sarebbe piaciuto farlo per gli utenti di drupalitalia ma ho visto i codici di altri moduli e penso di aver bisogno di un pò di tempo :-|

Iniza a vedere l'handbook (in inglese) che c'è su http://drupal.org per come usare le varie funzioni, c0è api.drupal.org apposta per vedere le varie funzioni e come si usano, infine iniziare usa i moduli di esempio per capire come funzionano. Se hai ancora quaklche dubbio, dopo aver cercato di capire e googlato un pò (e cercato in DI) posta pure sul forum.. se i può aiutare...

Ciao
Marco
--
My blog
Working at @agavee

la funzione che dovrei usare è:

function drupal_prepare_form($form_id, &$form) {
  global $user;
  $form['#type'] = 'form';
  if (!isset($form['#post'])) {
    $form['#post'] = $_POST;
    $form['#programmed'] = FALSE;
  }
  else {
    $form['#programmed'] = TRUE;
  }

se ho capito bene?

quali sarebbero i moduli di esempio che dovrei vedere?

Per i moduli di esempio vedi

La funzione da usare è drupal_get_form():

che si usa molto semplicemente come indicato in alcuni dei post precedenti su questo forum (cerca e vedrai che trovi ;)).
Link da tenere da conto:

Ciao
Marco
--
My blog
Working at @agavee

ciao rave!
anche io avevo bisogno di usare la versione gratuita offerta da ilmeteo.it su un sito in fase di costruzione con drupal.
se vuoi ti invio il modulo che ho realizzato. è un modulo molto semplice che:
- visulizza un blocco con un menù a tendina delle città italiane. cliccando su previsioni ti si apre un popup con le previsioni prese da ilmeteo.it oppure (a scelta) carica direttamente nel blocco le previsioni del tempo (attenzione che se vuoi mostrare direttamente nel blocco le previsioni devi calcolare che la tabella caricata da ilmeteo.it è larga 500px)
- mostra una pagina chiamata meteoit dove carica le previsioni meteo.

se lo vuoi te lo allego qui. fammi sapere

ciao
nicola

wow!!!!! Grazie!!!

Allegalo pure così lo rendiamo a disposizione anche degli altri utenti!!

GRAZIE MILLE ANCORA!!!

ok, eccolo in allegato, è tutto spiegato nel readme.txt

fammi sapere se hai problemi!

ciao
nicola

mi sono accorto solo questa mattina che con il modulo che ti ho allegato dovresti avere problemi nel visualizzare la pagina del meteo in /sito/meteoit (ti dovrebbe ritornare il messaggio di accesso negato. errore mio..)

allego quindi il modulo corretto. per poter visualizzare la pagina del meteo abilita il relativo permesso nella pagina di access control.

ciao
nicola

ciao
hai aggiornato il modulo meteo al drupal 6?
si si' lo posteresti?
grazie mille e saluti a tutti da un nuovo entry ;-)
gm

purtroppo per ora no.

Ti ringrazieremmo in due...!!!

Al momento Weather fa le bizze... su certi hosting.

ciao,
sto terminando una versione aggiornata del modulo per drupal 5 e non appena finito per drupal 5 lo aggiornerò a drupal 6.
vi terrò informati, spero di finire nel più breve tempo possibile.

ciao
nicola

Ho trovato una soluzione... per chi volesse la situazione meteo dalle stazioni METAR e non può installare Weather per problemi con hoster "stretti di manica"...!!

Lo script in PHP è già fatto, lo dovete solo piazzare nel vostro blocco com PHP e fare le dovute modifiche del caso (in pratica mettere i tag HTML per formattare il tutto e altre piccolezze!):

Eccolo: http://woody.cowpi.com/phpscripts/
Qui il link diretto allo script: http://woody.cowpi.com/phpscripts/getwx.php.txt

Con una singola stazione funziona alla perfezione... nel codice ci sono anche le equivalenze per trasformare le unità di misura!

Ciao!
;)