Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Skrypt źle czyta datę z formularza
Forum PHP.pl > Forum > Przedszkole
josephine
Poniższy skrypt ma za zadanie wstawić formularz, a następnie odczytać z niego datę.
W drugiej części formularza data jest domyślnie ustawiona na bieżącą i tutaj pojawia się problem.
Z tej daty zczytuje poprawnie tylko dzień, miesiąc zawsze jest 12, a rok zawsze mniejszy o 1 od wybranego.
Już sama nie mam pojęcia co jest nie tak...

Kod
<FORM action='1.php' method='post'>
  
Okres od
    <SELECT size=1 name=dzien>
  
   <OPTION value='01'>01</OPTION>
   <OPTION value='02'>02</OPTION>
   <OPTION value='03'>03</OPTION>
   <OPTION value='04'>04</OPTION>
   <OPTION value='05'>05</OPTION>
   <OPTION value='06'>06</OPTION>
   <OPTION value='07'>07</OPTION>
   <OPTION value='08'>08</OPTION>
   <OPTION value='09'>09</OPTION>
   <OPTION value='10'>10</OPTION>
   <OPTION value='11'>11</OPTION>
   <OPTION value='12'>12</OPTION>
   <OPTION value='13'>13</OPTION>
   <OPTION value='14'>14</OPTION>
   <OPTION value='15'>15</OPTION>
   <OPTION value='16'>16</OPTION>
   <OPTION value='17'>17</OPTION>
   <OPTION value='18'>18</OPTION>
   <OPTION value='19'>19</OPTION>
   <OPTION value='20'>20</OPTION>
   <OPTION value='21'>21</OPTION>
   <OPTION value='22'>22</OPTION>
   <OPTION value='23'>23</OPTION>
   <OPTION value='24'>24</OPTION>
   <OPTION value='25'>25</OPTION>
   <OPTION value='26'>26</OPTION>
   <OPTION value='27'>27</OPTION>
   <OPTION value='28'>28</OPTION>
   <OPTION value='29'>29</OPTION>
   <OPTION value='30'>30</OPTION>
   <OPTION value='31'>31</OPTION>
   </SELECT>
  
    <SELECT size=1 name=miesiac>
  
   <OPTION value='01'>styczeń</OPTION>
   <OPTION value='02'>luty</OPTION>
   <OPTION value='03'>marzec</OPTION>
   <OPTION value='04'>kwiecień</OPTION>
   <OPTION value='05'>maj</OPTION>
   <OPTION value='06'>czerwiec</OPTION>
   <OPTION value='07'>lipiec</OPTION>
   <OPTION value='08'>sierpień</OPTION>
   <OPTION value='09'>wrzesień</OPTION>
   <OPTION value='10'>październik</OPTION>
   <OPTION value='11'>listopad</OPTION>
   <OPTION value='12'>grudzień</OPTION>
   </SELECT>
  
   <SELECT size=1 name=rok>
  
   <OPTION value='2007'>2007</OPTION>
   <OPTION value='2008'>2008</OPTION>
   <OPTION value='2009'>2009</OPTION>
   <OPTION value='2010'>2010</OPTION>
   <OPTION value='2011'>2011</OPTION>
   <OPTION value='2012'>2012</OPTION>
   <OPTION value='2013'>2013</OPTION>
   <OPTION value='2014'>2014</OPTION>
   </SELECT>
  
  
  
   Okres do
   <?
   $miesiac = array('', 'styczeń', 'luty', 'marzec', 'kwiecień',
    'maj', 'czerwiec', 'lipiec', 'sierpień', 'wrzesień', 'październik', 'listopad', 'grudzień');
    echo '<select size=1 name=dzien1>';
  
   for($i = 1; $i <= 31; $i++){
   if(date("d") == $i){
   echo '<option value='.$i.' selected>'.$i.'</option>';
   }
   else{
   echo '<option value='.$i.'>'.$i.'</option>';
   }
   }
  
   echo  '</select>';
   echo '<select size=1 name=miesiac1>';
  
  
   for ($i = 1; $i <= 12; $i++){
   if ( date ("m") == $i) {
    echo '<option value='.$miesiac[$i].' selected>'.$miesiac[$i].'</option>';
    }
    else{
    echo '<option value='.$miesiac[$i].'>'.$miesiac[$i].'</option>';
    }
   }
   echo '</select>';
  
   echo '<select size=1 name=rok1>';
  
   for($i = 2007; $i <= 2014; $i++){
   if ( date ("Y") == $i) {
   echo '<option value='.$i.' selected>'.$i.'</option>';
   }
   else{
   echo '<option value='.$i.'>'.$i.'</option>';
    }
    }
  
   echo '</select>';
  
    ?>
  
   <INPUT type='submit' value='Szukaj' name='B1'/>
   </form>
  
   <?
   if(isset($_POST['B1']))
   {
   $od=date('Y-m-d',mktime(0,0,0, $_POST['miesiac'], $_POST['dzien'], $_POST['rok']));
   $do=date('Y-m-d',mktime(0,0,0, $_POST['miesiac1'], $_POST['dzien1'], $_POST['rok1']));
   }
   echo " <p>
   <table border='1' cellspacing='0' cellpadding='2'>
   <tr >
   <td width='200'>Wybrany okres</td>
   <td width='260'>  od: $od do: $do </td>
   </tr>
   </table>   </p>
     ";
  
  
   ?>
Mlodycompany
w pętli for na dzien i miesiac zmien $i z 1 na 0
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.