Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Kalkulator w php
djjbenus
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 22.05.2010

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


Witam,

pisze kalkulator w php za pomocą formularza.

  1. <html>
  2. <head>
  3. <title>Kalkulator
  4. </title>
  5. </head>
  6. <body>
  7. <div id="">
  8. <form action="kalkulator.php" method="POST">
  9. <input type="text" name="model" title="wynik" size="12" value="0"/> <br /><br />
  10. <input class="submit" type="submit" name="submit" value="1" />
  11. <input class="submit" type="submit" name="submit" value="2" />
  12. <input class="submit" type="submit" name="submit" value="3" />
  13. <input class="submit" type="submit" name="submit" value="+" /> <br />
  14. <input class="submit" type="submit" name="submit" value="4" />
  15. <input class="submit" type="submit" name="submit" value="5" />
  16. <input class="submit" type="submit" name="submit" value="6" />
  17. <input class="submit" type="submit" name="submit" value="-" /> <br />
  18. <input class="submit" type="submit" name="submit" value="7" />
  19. <input class="submit" type="submit" name="submit" value="8" />
  20. <input class="submit" type="submit" name="submit" value="9" />
  21. <input class="submit" type="submit" name="submit" value="*" /> <br />
  22. <input class="submit" type="submit" name="submit" value=" , " />
  23. <input class="submit" type="submit" name="submit" value="0" />
  24. <input class="submit" type="submit" name="submit" value="=" />
  25. <input class="submit" type="submit" name="submit" value="/" />
  26. </form>
  27. </div>
  28. </body>
  29. </html>


Teraz mój problem. Otóż jak przekazać wartość przycisku do pola tekstowego na górze zarazem wykonując działania?

Z góry dzięki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
piotrex41
post
Post #2





Grupa: Zarejestrowani
Postów: 168
Pomógł: 26
Dołączył: 15.09.2011
Skąd: Wrocław

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


Tu masz mój bardzo banalny kalkulator w PHP, pisany obiektowo (mój pierwszy obiektowy skrypt, pisany jakoś 16 miesięcy temu). Może coś skorzystasz.
  1. <?php
  2.  
  3. class Calc
  4. {
  5. protected
  6. $input,
  7. $input2,
  8. $option,
  9. $error,
  10. $output;
  11.  
  12. public function setInputs($int1, $int2)
  13. {
  14. $this->input = (int) $int1;
  15. $this->input2 = (int) $int2;
  16. }
  17.  
  18. public function selectOption($option)
  19. {
  20. $this->option = $option;
  21. switch ($this->option)
  22. {
  23. case 'Dodaj':
  24. $this->dodaj();
  25. break;
  26. case 'Odejmij':
  27. $this->odejmij();
  28. break;
  29. case 'Pomnóż':
  30. $this->mnoz();
  31. break;
  32. case 'Podziel':
  33. $this->dziel();
  34. break;
  35. }
  36. }
  37.  
  38. protected function dodaj()
  39. {
  40. $this->output = $this->input + $this->input2;
  41. }
  42.  
  43. protected function odejmij()
  44. {
  45. $this->output = $this->input - $this->input2;
  46. }
  47.  
  48. protected function mnoz()
  49. {
  50. $this->output = $this->input * $this->input2;
  51. }
  52.  
  53. protected function dziel()
  54. {
  55. if ($this->input2 != 0)
  56. {
  57. $this->output = $this->input / $this->input2;
  58. }
  59. else
  60. {
  61. $this->error('dziel_zero');
  62. }
  63. }
  64.  
  65. public function getOutput()
  66. {
  67. return $this->output;
  68. }
  69.  
  70. protected function error($str)
  71. {
  72. $this->error = $str;
  73. if ($this->error == 'dziel_zero')
  74. {
  75. echo 'Wystąpił błąd! Nie można dzielć przez zero!';
  76. }
  77. }
  78. }
  79.  
  80. $oop = new Calc();
  81. $oop->setInputs($_POST['int1'], $_POST['int2']);
  82. $oop->selectOption($_POST['option']);
  83. $wynik = $oop->getOutput();
  84.  
  85. ?>
  86.  
  87. <form method="post" action="calc.php">
  88. <input type="text" name="int1" />
  89. <input type="text" name="int2" />
  90. <select name="option">
  91. <option>Dodaj</option>
  92. <option>Odejmij</option>
  93. <option>Pomnóż</option>
  94. <option>Podziel</option>
  95. </select>
  96. <input type="submit" value="Wykonaj" />
  97. </form>
  98.  
  99. Wynik: <input type="text" value="<?= $wynik ?>" readonly />


@EDIT:
Mój się nie zachowuje jak windowsowy, bo nie pokazuje na bieżąco co się wykonuje, ale przynajmniej przekazuje wartość końcową (wynik).

Ten post edytował piotrex41 12.07.2012, 11:45:15
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: 5.10.2025 - 16:42