Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Prosty kalkulator w PHP z funkcją preg_match
stefan09
post
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 (IMG:style_emoticons/default/biggrin.gif) Żeby to trochę rozwinąć chciałem dodać funkcję preg_match, żeby sprawdzić czy w obu polach jest przynajmniej jedna liczba. Część odpowiadającą za liczenie dałem jako funkcję. No i się posypało- wyskakuje error. Proszę o pokazanie mi gdzie leży błąd i ewentualną wskazówkę jak go usunąć.

  1. <form action="calc.php" method="post">
  2.  
  3. Liczba 1 <input type="text" name="jeden"><br>
  4. Liczba 2 <input type="text" name="dwa"><br>
  5. <select name="option">
  6. <option value="dodawanie">Dodawanie</option>
  7. <option value="odejmowanie">Odejmowanie</option>
  8. <option value="mnozenie">Mnożenie</option>
  9. <option value="dzielenie">Dzielenie</option>
  10.  
  11. <input type="submit" value="Wyslij"><br>
  12.  
  13. </form>

  1. <?php
  2.  
  3. $_POST['jeden'] = $jeden;
  4. $_POST['dwa'] = $dwa;
  5. $_POST['option'] = $option;
  6.  
  7.  
  8. if (preg_match('@[0-9]{1,}@',$jeden && $dwa)){
  9. oblicz();
  10. }
  11.  
  12. else{
  13. echo('wpisz liczby!');
  14. }
  15.  
  16. function oblicz(){
  17.  
  18. if ($option == "dodawanie"){
  19. $suma = $jeden + $dwa;
  20. echo("Suma to $suma");
  21. }
  22.  
  23. else if ($option == "odejmowanie"){
  24. $roznica = $jeden - $dwa;
  25. echo("Roznica to $roznica");
  26. }
  27.  
  28. else if ($option == "mnozenie"){
  29. $iloczyn = $jeden * $dwa;
  30. echo("Iloczyn to $iloczyn");
  31. }
  32.  
  33. else {
  34. $iloraz = $jeden / $dwa;
  35. echo("Iloraz to $iloraz");
  36. }
  37. }
  38.  
  39. ?>


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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 1.04.2026 - 20:22