heutiges Datum selektieren

Sven4972

Mitglied
Hallo,

ich habe ein Formular bei dem man das Datum eingeben kann.
Das schaut im Moment so aus:

PHP:
<select name="tag" size="1">
  <option>01</option>
  <option>02</option>
  <option>03</option>
  <option>04</option>
  <option>05</option>
  <option>06</option>
  <option>07</option>
  <option>08</option>
  <option>09</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>
<select name="monat" size="1">
  <option>01</option>
  <option>02</option>
  <option>03</option>
  <option>04</option>
  <option>05</option>
  <option>06</option>
  <option>07</option>
  <option>08</option>
  <option>09</option>
  <option>10</option>
  <option>11</option>
  <option>12</option>
</select>
<select name="jahr" size="1">
  <option>2010</option>
  <option>2011</option>
  <option>2012</option>
  <option>2013</option>
  <option>2014</option>
</select>

Wie kann ich erreichen, das immer das heutige Datum selektiert wird?


LG Sven
 
Willst du das clientseitig (mit JS) oder serverseitig mit PHP lösen?

Wenn du das mit PHP machst, kannst du den Befehl [phpf]date[/phpf] nutzen und diesen in deinen Code einbauen.
Wenn du den Code zeigst, können wir dir mehr helfen.

Wenn du das mit JavaScript lösen willst (wobei PHP zu bevorzugen), dann sag das ;)
Sonst schreibe ich hier was, was du sowieso nicht brauchst.
 
Hallo,

ich möchte es schon mit PHP lösen.

Bis jetzt habe ich das:

PHP:
<?php
$today = getdate();
$day = $today[mday];
$month = $today[mon];
$year = $today[year];
echo "<select name='tag' size='1'>";
echo "<option>";
echo $day;
echo "</option></select>";
echo "<select name='monat' size='1'>";
echo "<option>";
echo $month;
echo "</option></select>";
echo "<select name='jahr' size='1'>";
echo "<option>";
echo $year;
echo "</option></select>";
?>

Wie kann ich das jetzt in meinen zuerst geposteten Code einbauen?


LG Sven
 
Deinen zuerst gepostetes HTML erzeugst du ja mittel for-Schleife in PHP (solltest du zumindest). Und in der Schleife kannst du ja ganz einfach prüfen, ob der aktuelle Zähler-Wert dem aktuellen Tag (,Monat, Jahr) entspricht und dann setzt du bei diesem option-Tag das Atrribut "selected".
 
Hallo,

ich hab es jetzt geschafft:

PHP:
<?php
$today = getdate();
$day = $today[mday];
$month = $today[mon];
$year = $today[year];
echo "<select name='tag' size='1'>";
for ( $tag = 1; $tag < 32; $tag++ )
{ 
  if ($tag == $day)
  {
      echo "<option selected>";
    echo $tag;
    echo "</option>";
  }
  else
  {
      echo "<option>";
    echo $tag;
    echo "</option>";
  }
}
echo "</select>";
echo "<select name='monat' size='1'>";
for ( $monat = 1; $monat < 13; $monat++ )
{
    if ($monat == $month)
  {
      echo "<option selected>";
    echo $monat;
    echo "</option>";
  }
  else
  {
      echo "<option>";
    echo $monat;
    echo "</option>";
  }
}
echo "</select>";
echo "<select name='jahr' size='1'>";
for ( $jahr = 2000; $jahr < 2021; $jahr++ )
{
    if ($jahr == $year)
    {  
      echo "<option selected>";
    echo $jahr;
    echo "</option>";
  }
  else
  {
      echo "<option>";
    echo $jahr;
    echo "</option>";
  }
  
}
echo "</select>";
?>

Eine Frage habe ich aber noch.
Wie bekomme ich die führende 0 beim Tag und beim Monat mit dazu?


LG Sven
 
Seit etwas kreativ:

PHP:
function leadingZero($x) {
	if($x<10)
		return '0'.$x;
	return $x;
}

echo leadingZero(4);
echo leadingZero(17);
 
Zurück