![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
PHP uczę się trzeci dzień, także jestem totalnym laikiem, tym bardziej, że wcześniej nie miałem do czynienia z językiem obiektowym (tylko HTML i CSS). Do rzeczy: napisałem sobie prosty "kalkulator". Wygląda to tak, że jest formularz z dwoma polami i trzeba wpisać do nich dwie liczby (do każdego pola po jednej), a następnie wybrać z inputa select czy chcemy dodać/odjąć/pomnożyć/podzielić liczbę. Fajnie- jest prymitywne, ale działa ![]()
Zamierzenie jest takie, że wymagane jest wypełnienie obu pól formularza dowolnymi liczbami. Jeśli warunek zostanie spełniony, ma zostać wykonana funkcja oblicz, jeśli nie- ma pokazać się komunikat "Wpisz liczby!". Jeszcze jedno pytanie- czy pogrubiony poniżej fragment kodu jest poprawny? Chodzi o te &&. if (preg_match('@[0-9]{1,}@',$jeden && $dwa)) Z góry dziękuję za pomoc i pozdrawiam. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
http://php.net/manual/en/function.is-numeric.php tutaj poszukaj odp.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jeszcze jedno pytanie- czy pogrubiony poniżej fragment kodu jest poprawny? Chodzi o te &&. if (preg_match('@[0-9]{1,}@',$jeden && $dwa)) Nie, nie jest poprawny. Trzeba zrobić dwa warunki:
PS. Następnym razem radzę przeczytać co wyskakuje za błąd, mimo, że jest po angielsku to w 90% wszystko nam serwer pokazuje, w jakij linijce i ewentualnie jaka funkcja. A jak nie możesz dojśc co to za problem wyskoczył, najlepiej skopiować i wkleić go tutaj i podać kawałek kodu z linijką, która występuje w błędzie. Ten post edytował adbacz 28.09.2011, 17:24:13 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za cenną radę co do sprawdzania błędów
![]() Wiem, że problem leży w funkcji oblicz() i domyślam się, że brakuje jej parametrów, ale nie mam pojęcia jakie zmienne wpisać pomiędzy nawiasy, żeby skrypt działał. Bez użycia funkcji (przy użyciu instrukcji warunkowej w instrukcji warunkowej ![]() Swoją drogą takie używanie "ifa w ifie" jest poprawne? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 19 Dołączył: 13.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Prawdopodobnie chcesz przypisać z formularza danych do zmiennych, więc powinieneś zrobić to odwrotnie czyli
twoja funkcja oblicz, powinna przyjąć jakieś parametry i w tej funkcji pracujesz na jej parametrach, czyli:
zamiast preg_match, uzyj is numeric, a wczesniej sprawdź czy taka zmienna istnieje, tzn: w funkcji oblicz chyba lepiej użyć switch-a niż if, elseif w twoim przypadku. Ppozdro -------------------- www.maxcode.pl
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki.
Nie mogę zrozumieć tylko jakie to ma znaczenie czy jest czy
Przecież x = y to y = x. Czyli jak zamienię z $_POST na $zmienna to potem muszę używać już tylko drugiej wersji? Ten post edytował stefan09 28.09.2011, 20:24:31 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 19 Dołączył: 13.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
znaczenie ma takie, ze na początku skryptu zmienna $jeden jest pusta.
Skoro robisz:
To do zmiennej odebranej z formularza przypisujesz pusta zmienną. a jeśli dasz odwrotnie to do zmiennej $jeden przypisujesz zmienna odebrana z formularza. -------------------- www.maxcode.pl
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko jasne. Jeszcze raz dzięki
![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Jakby ktoś pytał, to najpierw radzę dobrze zaznajomić z operatorami bo w PHP znak równości (=) nie oznacza równości więc:
= - przypisanie prawej do lewej == - lewa równa z prawą i odwrotnie === - lewa identyczna z prawą i odwrotnie |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.04.2025 - 23:34 |