Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Wprowadzanie dowolnej ilości liczb w kalkulatorze do obliczenia w kalkulatorze, Użytkownik wprowadza wiele liczb do obliczenia w kalkulatorze
Martitaa
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 20.05.2020
Skąd: Warszawa

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


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.  



Ten post edytował nospor 12.06.2020, 14:20:17
Powód edycji: [nospor]: poprawa formatowania posta
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Naprawde musisz pisac powiekszona czcionka? Popraw prosze do normalnej


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Martitaa
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 20.05.2020
Skąd: Warszawa

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


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.

Ten post edytował Martitaa 12.06.2020, 14:38:24
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ctrl + scroll - to ci robi zooma na kazdej stronie internetowej i sobie powiekszasz do tobie pasujacej wersji.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Martitaa
post
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 20.05.2020
Skąd: Warszawa

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


Ok dzięki. Nie mam już możliwości edytować I postu.

Pomożesz mi w zadaniu?
Go to the top of the page
+Quote Post
gino
post
Post #6





Grupa: Zarejestrowani
Postów: 324
Pomógł: 52
Dołączył: 18.02.2008

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


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

Ten post edytował gino 12.06.2020, 22:42:48
Go to the top of the page
+Quote Post
Martitaa
post
Post #7





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 20.05.2020
Skąd: Warszawa

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


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ć.

Ten post edytował Martitaa 13.06.2020, 05:50:13
Go to the top of the page
+Quote Post
gino
post
Post #8





Grupa: Zarejestrowani
Postów: 324
Pomógł: 52
Dołączył: 18.02.2008

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


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

Ten post edytował gino 13.06.2020, 07:31:47
Go to the top of the page
+Quote Post
Martitaa
post
Post #9





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 20.05.2020
Skąd: Warszawa

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


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>
Go to the top of the page
+Quote Post
gino
post
Post #10





Grupa: Zarejestrowani
Postów: 324
Pomógł: 52
Dołączył: 18.02.2008

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


w samym php, bez wysłania formularza nie da się tak jak Ty chcesz

gino
Go to the top of the page
+Quote Post
viking
post
Post #11





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


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.


--------------------
Go to the top of the page
+Quote Post
gino
post
Post #12





Grupa: Zarejestrowani
Postów: 324
Pomógł: 52
Dołączył: 18.02.2008

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


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

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

 



RSS Aktualny czas: 20.08.2025 - 19:03