ďťż

tablice php zły kod?

       

Podstrony


telcocafe

Proszę się tylko ze mnie nie śmiać. Dopiero uczę się PHP i mam taki mały problemik. Otóż mam takowy plik:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml-20000126/DTD/xhtml-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head>     <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />     <title>Kalkulator kosztów</title> </head> <body> <?php # Skrypt 2.9 - kalendarz.php // Ten skrypt tworzy menu rozwijalne - po jednym dla misięcy, dni  ilat. // Utwórz tablicę miesięcy. $months = array (1 => 'Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień'); // Utwórz tablicę dnii dat. $days = range (1, 31); $years = range (2003, 2010); // Utwórz formularz i menu rozwijalne. echo '<form action="kalendarz.php" method="post">'; echo '<select name="month"'; foreach ($months as $key => $value) {        echo "<option value=\"$key\">$value</option>\n"; } echo '</select>'; echo '<select name="day">'; foreach ($days as $value) {        echo "<option value=\"$value\">$value</option>\n"; } echo '</select>'; echo '<select name="year">'; foreach ($years as $value) {        echo "<option value=\"$value\">$value</option>\n"; } echo '</select></form>'; ?> </body> </html>

Gdy go uruchamiam to miesiące są wyświetlane od Lutego a nie od stycznia. Czy gdzieś jet jakiś błąd?



Dziwne, sprawdzilem u mnie wyświetla się dobrze.

U mnie też wyświetla się od lutego. Nie jestem programistą PHP, ale problem ominąłem w ten sposób, że przed styczniem dopisałem spację:
[...] $months = array (1 => ' ', 'Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień'); [...]

Nie wiem, czy to jest dobre rozwiązanie, ale działa. Może ktoś inny lepiej to rozwiąże...

Sprawdziłem jeszcze raz i mam dobrze. Nawet pogrzebałem w skrypcie i dalej mam poprawnie.



A na jakiej przeglądarce sprawdzasz?


A na jakiej przeglądarce sprawdzasz?

Przepraszam, dobrze, że mnie poprawiłeś. Miałem na myśli właśnie to, ale nie wiem, czemu mi napisałem o przeglądarce. Wiem, że to nie jest wina przeglądarki. Jeszcze raz przepraszam za błąd.

Skrypt otwierałem na dwóch wersjach PHP. Raz na PHP4 i raz na PHP5. W obu przypadkach jest to samo - miesiące sa od lutego. Dałem spację na początku, tak jak poradził Txthor i już jest ok. Thx wszystkim.

A zauważyłeś że jak dasz spacje po 1 => to Styczeń ma idx 2?

A błąd polega na tym, że nie domykasz tagu <select> (dla mnie linie 23)


A zauważyłeś że jak dasz spacje po 1 => to Styczeń ma idx 2?
Tak, zauważyłem to.

A błąd polega na tym, że nie domykasz tagu <select>  (dla mnie linie 23)

może ponumeruj miesiące od 0 do 11.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml-20000126/DTD/xhtml-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head>    <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />    <title>Kalkulator kosztów</title> </head> <body> <?php # Skrypt 2.9 - kalendarz.php // Ten skrypt tworzy menu rozwijalne - po jednym dla misięcy, dni  ilat. // Utwórz tablicę miesięcy. $months = array (1 => 'Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień'); // Utwórz tablicę dnii dat. $days = range (1, 31); $years = range (2003, 2010); // Utwórz formularz i menu rozwijalne. echo '<form action="kalendarz.php" method="post">'; echo '<select name="month">'; //tutaj zmiana foreach ($months as $key => $value) {       echo "<option value=\"$key\">$value</option>\n"; } echo '</select>'; echo '<select name="day">'; foreach ($days as $value) {       echo "<option value=\"$value\">$value</option>\n"; } echo '</select>'; echo '<select name="year">'; foreach ($years as $value) {       echo "<option value=\"$value\">$value</option>\n"; } echo '</select></form>'; ?> </body> </html>

Dzięki wszystkim za pomoc - temat do zamknięcia.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.