Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Wprowadzanie dowolnej ilości liczb w kalkulatorze do obliczenia w kalkulatorze
Forum PHP.pl > Forum > Przedszkole
Martitaa
Jak zrobić kalkulator w którym użytkownik mógłby wprowadzać dowolną ilość liczb do obliczenia?
Chciałabym to zrobić na 2 sposoby
I sposób
Wprowadzanie działania w jednym polu input.

II sposób
Użytkownik klika w dodaj pole i wpisuje kolejną liczbę do obliczenia.

Umiem zrobić kalkulator, gdzie można wprowadzić 2 liczby do obliczenia np. 2 + 2. Szukałam w internecie i nie znalazłam.

Proszę o pomoc.

Przeczytałam wszystkie kursy php jakie znalazłam w internecie. umiem tworzyć pętle, zmienne itp. ale jak przychodzi do zrobienia jakiegoś zadania to już nie wiem jak to zadanie zrobić.

  1. <form method="POST" action="">
  2. <h2>Kalkulator</h2>
  3. <input type="text" name="liczba1" size="10">
  4. <select name="znak">
  5. <input type="text" name="liczba2" size="10">
  6. <input type="submit" value="Oblicz">
  7. </form>



  1. <?php
  2. $liczba1 = $_POST['liczba1'];
  3. $znak = $_POST['znak'];
  4. $liczba2 = $_POST['liczba2'];
  5.  
  6. $wynik = "";
  7. switch ($znak)
  8. {
  9. case "+":
  10. $wynik = $liczba1+$liczba2;
  11. break;
  12. case "-":
  13. $wynik = $liczba1-$liczba2;
  14. break;
  15. case "*":
  16. $wynik = $liczba1*$liczba2;
  17. break;
  18. case "/":
  19. $wynik = $liczba1/$liczba2;
  20. break;
  21. }
  22. echo $liczba1;
  23. echo " ";
  24. echo $znak;
  25. echo " ";
  26. echo $liczba2;
  27. echo " ";
  28. echo "= ";
  29. echo $wynik;
  30. ?>
  31.  

nospor
Naprawde musisz pisac powiekszona czcionka? Popraw prosze do normalnej
Martitaa
Przepraszam ale jestem osobą mocno niedowidzącą. Żeby przeczytać twój tekst ja musze powiększyć czcionke do 150.

Możesz mi pomóc w zadaniu? Próbuje zrozumieć php.
nospor
ctrl + scroll - to ci robi zooma na kazdej stronie internetowej i sobie powiekszasz do tobie pasujacej wersji.
Martitaa
Ok dzięki. Nie mam już możliwości edytować I postu.

Pomożesz mi w zadaniu?
gino
1 sposób: o ile dobrze zrozumiałem - musiałabyś zmusić użytkownika do rozdzielenia liczb od siebie jakimś znakiem - średnik, przecinek, spacja - jeżeli byłby tylko 1 input + funkcja explode(). Sam skrypt nie oddzieli liczb, bo nie będzie wiedział czy ma oddzieli liczbę czy cyfrę. Jesteś zdana na użytkownika.

2 sposób: bez użycia js najpierw pole do wprowadzenia ilości liczb, submit form i tyle pól ile zadeklarował użytkownik w następnym formularzu
Z js da się zrobić to bardziej dynamicznie, na zasadzie jednego buttona: "dodaj następne pole" aż użytkownik wpisze te swoje liczby. Takich przykładów w js jest mnóstwo, poszukaj:

js dynamiczne dodawanie pól input
tutaj praktycznie gotowiec

gino
Martitaa
Gino źle zrozumiałeś.
I sposób
Działanie to 2 +2, 2 * 2 itp.
Użytkownik wpisuje 2 + 2 = i pod spodem wyświetla mu się wynik.

II sposób
Uczę się PHP a nie JS więc chce zrobić to tylko w php.
Użytkownik klika w przycisk dodaj pole, w to pole wpisuje liczbę i klika w przycisk oblicz
W pierwszym polu wpisał 1
wybrał znak np. +
W drugim polu wpisał 2
wybrał znak np. +
kliknął w przycisk dodaj pole
W tym polu wpisał 3
kliknął oblicz.

Gino źle zrozumiałeś.
I sposób
Działanie to 2 +2, 2 * 2 itp.
Użytkownik wpisuje 2 + 2 = i pod spodem wyświetla mu się wynik.

II sposób
Uczę się PHP a nie JS więc chce zrobić to tylko w php.
Użytkownik klika w przycisk dodaj pole, w to pole wpisuje liczbę i klika w przycisk oblicz
W pierwszym polu wpisał 1
wybrał znak np. +
W drugim polu wpisał 2
wybrał znak np. +
kliknął w przycisk dodaj pole
W tym polu wpisał 3
kliknął oblicz.

Jestem początkująca. Przeczytałam wszystkie kursy PHP w internecie. Umiem tworzyć zmienne, pętle itp., ale jak przychodzi do zrobienia jakiegoś zadania to już nie wiem jak zrobić.
gino
1 sposób z całym działaniem, można tak: po pierwsze sprawdzić, jaki znak występuje w działaniu, możesz użyć np. substr_count() i sprawdzać w zwróconym polu formularza każdy znak działania w pętli po kolei. Który zwróci z tej funkcji wartość 1 to będziesz wiedziała jakie działanie wpisał użytkownik: sumowanie, mnożenie itp. Później funkcja explode(). To wszystko dopiero po przesłaniu formularza i tylko 1 działanie w input.

2 sposób bez js tak jak chcesz to każdorazowe przeladowanie formularza w celu dodania nowego ppla, po wczytanius strony jest ona statyczna, nie masz wiele możliwości jak tylko kliknięcie w link, button luo wprowadzenie danych.

gino
Martitaa
Nie rozumiem

Zrobiłam pole input gdzie wprowadzam działanie np. 2 + 2 =
To działanie ma się wyświetlić pod napisem wynik i odrazu podać wynik działania.

Wynik
2 + 2 = 4

Jak to zrobić w PHP?
Proszę o szczegółowe wytłumaczenie. próbuje zrozumieć PHP.

  1. <form action="kalkulator2.php" method="post">
  2. <p>Wpisz działanie</p>
  3. <input type="text" name="oblicz_dane" placeholder="wprowadż działanie">
  4. </form>
  5.  
  6. <p>Wynik</p>
gino
w samym php, bez wysłania formularza nie da się tak jak Ty chcesz

gino
viking
Zacznij od tego że PHP działa po stronie serwera. Wynik czyli html powstaje juz po zakończeniu działania parsera. Wszystko musisz wysłać i odświeżyć stronę. Natomiast zamiast tak kombinować to kalkulator jest bardzo dobrym zadaniem na zrozumienie klas (plus ewentualnie napisanie testów). Idź raczej w tym kierunku nawet na prostych działaniach.
gino
Nie wiem jakie kursy czytałaś, ale musiały być albo fatalnie napisane, albo nie potrafisz ich zrozumieć. Strona w czystym hlml-u jest sytaczna, wyświetlana przez przeglądarkę klienta, php siedzi na serwerze i raz przesłana strona do przeglądarki ma bardzo organiczną interakcje z użytkownikiem.

gino
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.