ďťż
Podstrony
|
telcocafeProszę 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. |
|||
Sitedesign by AltusUmbrae. |