Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Kalkulator OOP
miras
post
Post #1





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Witam, czas najwyższy przerzucić się na OOP, a więc zacząłem standardowo od napisania kalkulatora i (najpierw kod)

index.php :

  1.  
  2. <form method="POST" action="">
  3. <input type="number" name="pierwsza" value=""/>
  4. <select name="dzialanie">
  5. <option value="+">+</option>
  6. <option value="-">-</option>
  7. <option value="*">*</option>
  8. <option value=":">:</option>
  9. </select>
  10. <input type="number" name="druga" value=""/>
  11. <br><br>
  12. <input type="submit" value="Oblicz"/>
  13. </form>
  14.  
  15. <?php
  16. include('kalkulator.class.php');
  17. $kalkulator = new kalkulator;
  18. echo $kalkulator -> oblicz($_POST['pierwsza'],$_POST['druga'],$_POST['dzialanie']);
  19. ?>




kalkulator.class.php


  1. <?php
  2. class kalkulator {
  3. public function oblicz($pierwsza, $druga, $dzialanie) {
  4. $this->wynik = $pierwsza + $druga;
  5. return $this->wynik;
  6. }
  7. }
  8.  
  9. ?>


i teraz tak: powyższy kod działa, z tym, że na stałe jest wpisane dodawanie, a ja chciałbym zrobić jakieś warunki if($_POST['dzialanie']=="-") to odejmowanie itd, niestety nie wiem jak stworzyć w OOP warunki, a drugie pytanie czy ten kod, który wstawiłem ma w ogóle coś wspólnego z OOP ? ;>

Dzięki z góry...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PrinceOfPersia
post
Post #2





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


switch też może być...

ważniejsze to chyba zwalidować. Coś na kształt:
$pierwsza = intval($_POST['pierwsza'])
albo
$pierwsza = floatval($_POST['pierwsza'])
wtedy upewniamy się, że na pewno będziemy operować na liczbach (bo użytkownik może cokolwiek wpisać, nawet jakieś głupoty).

Ten post edytował PrinceOfPersia 29.03.2013, 18:56:03
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: 15.10.2025 - 02:33