Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Gestione variabile php

  1. #1
    Utente di HTML.it L'avatar di Ph:l
    Registrato dal
    Sep 2008
    Messaggi
    31

    Gestione variabile php

    codice:
    <script type="text/javascript">
      
      function aggiorna() {
      	
    	document.getElementById("year").value="<?php echo $anno; ?>";
    	
    	document.getElementById("month").value="<?php echo $mese; ?>";
    	
    	document.getElementById("day").value="<?php echo $giorno; ?>";
    	
    	document.getElementById("hour").value="<?php echo $ora; ?>";
      }
    
     </script>
    vorrei semplicemente, attraverso un ciclo condizionale, far in modo che se la variabile $anno,$mese etc è vuota allora il valore del elementbyid relativo sia quello corrente.. altrimenti sia quello appunto contenuto dentro la variabile php
    Grazie a Facebook madre ritrova i figli dopo 15 anni. Erano nella stanza di sopra.

  2. #2
    se con 'corrente' intendi la data attuale, prova questo:

    function aggiorna() {
    document.getElementById("year").value=<?php echo ($anno)?$anno:'new Date().getFullYear()'; ?>;

    document.getElementById("month").value=<?php echo ($mese)?$mese:'new Date().getMonth()'; ?>;

    document.getElementById("day").value=<?php echo ($giorno)?$giorno:'new Date().getDate()'; ?>;

    document.getElementById("hour").value=<?php echo ($ora)?$ora:'new Date().getHours()'; ?>;
    }


    ps presuppone i dati php siano numeri. Tieni presente che javascript conta i mesi a partire da 0 (gennaio)

  3. #3
    Utente di HTML.it L'avatar di Ph:l
    Registrato dal
    Sep 2008
    Messaggi
    31
    no c'è qualcosa che non va... se la variabile php non è vuota il valore inserito dev'esser quello della variabile php..

    come hai scritto te non succede...

    è per questo

    http://meteocaldonazzo.altervista.or...e/archivio.php

    praticamente se ci si arriva dal niente vorrei che i dati della select fossero impostati sulla data attuale..

    se invece la persona sceglie una data e da il submit, sull'aggiornamento la data delle select devono restare quelle che ha appena inserito
    Grazie a Facebook madre ritrova i figli dopo 15 anni. Erano nella stanza di sopra.

  4. #4
    Infatti nello script che ti ho mandato è quel che accade, se la variabile php non è vuota, inserisce quella.

  5. #5
    Utente di HTML.it L'avatar di Ph:l
    Registrato dal
    Sep 2008
    Messaggi
    31
    prova a guardar il link

    quando c'arrivi è giusto ma dopo il submit invece di darmi i valori delle variabili non ci inserisce niente e quindi la data sta ferma al 1 gennaio

    ps. come far a dargli il +1 al mese in quello script?
    Grazie a Facebook madre ritrova i figli dopo 15 anni. Erano nella stanza di sopra.

  6. #6
    Non è questione di link - se il problema che riscontri è quello che hai segnalato, con quello script, allora la soluzione è quella. Se, diversamente, è un problema di submit di una form, allora dovresti localizzare il problema meglio e postare quello.

    Dal link e basta si deduce poco poichè non si sa bene cosa vuoi fare. Ad ogni modo siccome la pagina (nel link) vedo che si ricarica, è naturale che una pagina che si ricarica lo fa con i valori iniziali di default e non con quelli che assumeva prima del reload.
    Se quello che cerchi è la persistenza dati, via javascript, allora ti tocca inviarli come parametri nella url e poi recuperarli da quella - tutto un altro problema rispetto alla domanda posta, per questo ti suggerisco di individuare meglio il problema altrimenti rischiamo di codificare "invano" :-)

  7. #7
    Utente di HTML.it L'avatar di Ph:l
    Registrato dal
    Sep 2008
    Messaggi
    31
    allora.. all'inizio della pagina prendo i dati della select cosi

    codice:
    <?php
    //Recupero il valore della data
    $giorno = $_POST['Giorno'];
    $mese = $_POST['Mese'];
    $anno = $_POST['Anno'];
    $ora = $_POST['ora'];
    
    ?>
    e poi attraverso <body onLoad="aggiorna();"> volevo appunto inserire nella select quei valori li se venivano dalla stessa pagina precedente (e quindi non vuoti).. altrimenti inserire la data corrente
    Grazie a Facebook madre ritrova i figli dopo 15 anni. Erano nella stanza di sopra.

  8. #8
    Sì per forza, sono dei menu a discesa non li indirizzi con .value=

    codice:
    <script type="text/javascript">
      
    function aggiorna() {
    var year=<?php echo ($anno)?$anno:'new Date().getFullYear()'; ?>;
    for(var i=0; i<document.getElementById("year").options.length;i++){if(document.getElementById("year").options[i].text==year){document.getElementById("year").selectedIndex=i;break;};}
    
    var month=<?php echo ('$mese')?$mese:'new Date().getMonth()'; ?>;
    for(var i=0; i<document.getElementById("month").options.length;i++){if(document.getElementById("month").options[i].value==month){document.getElementById("month").selectedIndex=i;break;};}
    
    var day=<?php echo ($giorno)?$giorno:'(new Date().getDate())'; ?>;
    for(var i=0; i<document.getElementById("day").options.length;i++){if(document.getElementById("day").options[i].text==day){document.getElementById("day").selectedIndex=i;break;};}
    
    var hour='<?php echo $ora;?>';
    for(var i=0; i<document.getElementById("hour").options.length;i++){if(document.getElementById("hour").options[i].text==hour){document.getElementById("hour").selectedIndex=i;break;};}
    }
    
     </script>
    
    
    
    
    
    
    <form method="post" action="test.php">
      
    
    
      <table width="198" border="0">
        <tr>
          <td width="53"><div align="center" class="Stile1">Anno</div></td>
          <td width="129"><select id="year" name="Anno">
            <option>2010</option>
    
            <option>2011</option>
          </select></td>
        </tr>
        <tr>
          <td><div align="center" class="Stile1">Mese</div></td>
          <td><select id="month" name="Mese">
            <option value="0">Gennaio</option>
    
            <option value="1">Febbraio</option>
            <option value="2">Marzo</option>
            <option value="3">Aprile</option>
            <option value="4">Maggio</option>
            <option value="5">Giugno</option>
            <option value="6">Luglio</option>
    
            <option value="7">Agosto</option>
            <option value="8">Settembre</option>
            <option value="9">Ottobre</option>
            <option value="10">Novembre</option>
            <option value="11">Dicembre</option>
         
          </select></td>
    
        </tr>
        <tr>
          <td><div align="center" class="Stile1">Giorno</div></td>
          <td><select id="day" name="Giorno">
            <option>1</option>
            <option>2</option>
            <option>3</option>
    
            <option>4</option>
            <option>5</option>
            <option>6</option>
            <option>7</option>
            <option>8</option>
            <option>9</option>
    
            <option>10</option>
            <option>11</option>
            <option>12</option>
            <option>13</option>
            <option>14</option>
            <option>15</option>
    
            <option>16</option>
            <option>17</option>
            <option>18</option>
            <option>19</option>
            <option>20</option>
            <option>21</option>
    
            <option>22</option>
            <option>23</option>
            <option>24</option>
            <option>25</option>
            <option>26</option>
            <option>27</option>
    
            <option>28</option>
            <option>29</option>
            <option>30</option>
            <option>31</option>
          </select></td>
        </tr>
        <tr>
    
          <td><div align="center" class="Stile1">Ora</div></td>
          <td><select id="hour" name="ora">
            <option>00.00</option>
            <option>01.00</option>
            <option>02.00</option>
            <option>03.00</option>
    
            <option>04.00</option>
            <option>05.00</option>
            <option>06.00</option>
            <option>07.00</option>
            <option>08.00</option>
            <option>09.00</option>
    
            <option>10.00</option>
            <option>11.00</option>
            <option>12.00</option>
            <option>13.00</option>
            <option>14.00</option>
            <option>15.00</option>
    
            <option>16.00</option>
            <option>17.00</option>
            <option>18.00</option>
            <option>19.00</option>
            <option>20.00</option>
            <option>21.00</option>
    
            <option>22.00</option>
            <option>23.00</option>
            <option></option>
          </select></td>
        </tr>
      </table>
    
    
    
    
    
    <script>aggiorna();</script>

  9. #9
    Utente di HTML.it L'avatar di Ph:l
    Registrato dal
    Sep 2008
    Messaggi
    31
    uhm.. ora succede il contrario... ovvero come all'inizio

    cioè se ci si accede dal nulla la data base resta il 1 gennaio
    Grazie a Facebook madre ritrova i figli dopo 15 anni. Erano nella stanza di sopra.

  10. #10
    La funzione mettila così:

    codice:
    <script type="text/javascript">
      
    function aggiorna() {
    var year=<?php echo ($anno)?$anno:'new Date().getFullYear()'; ?>;
    for(var i=0; i<document.getElementById("year").options.length;i++){if(document.getElementById("year").options[i].text==year){document.getElementById("year").selectedIndex=i;break;};}
    
    var month=<?php echo ($mese)?$mese:'new Date().getMonth()'; ?>;
    for(var i=0; i<document.getElementById("month").options.length;i++){if(document.getElementById("month").options[i].value==month){document.getElementById("month").selectedIndex=i;break;};}
    
    var day=<?php echo ($giorno)?$giorno:'new Date().getDate()'; ?>;
    for(var i=0; i<document.getElementById("day").options.length;i++){if(document.getElementById("day").options[i].text==day){document.getElementById("day").selectedIndex=i;break;};}
    
    var hour='<?php echo $ora;?>';
    for(var i=0; i<document.getElementById("hour").options.length;i++){if(document.getElementById("hour").options[i].text==hour){document.getElementById("hour").selectedIndex=i;break;};}
    }
    
     </script>
    per il resto come nel mio post precedente. Qui funziona.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.