• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmiana wartości w inpucie przy użyciu buttonów

0 głosów
837 wizyt
pytanie zadane 7 marca 2020 w PHP przez piotri14 Początkujący (250 p.)

Cześć

Tworzę koszyk do strony i zamierzam dodać możliwość zmiany ilości danego produktu przy zamawianiu.

Po dodaniu produktu do koszyka, dodaje się taki skrypt:

function cartElement($productimg, $productname, $productprice, $productid){
	$element = "
    
    <form action=\"cart.php?action=remove&id=$productid\" method=\"post\" class=\"cart-items\">
                    <div class=\"border rounded\">
                        <div class=\"row bg-white\">
                            <div class=\"col-md-3 pl-0\">
                                <img src=$productimg alt=\"Image1\" class=\"img-fluid\">
                            </div>
                            <div class=\"col-md-6\">
                                <h5 class=\"pt-2\">$productname</h5>
                                <h5 class=\"pt-2\">$$productprice</h5>
                                <button type=\"submit\" class=\"btn btn-danger mx-2\" name=\"remove\">Remove</button>
                            </div>
                            <div class=\"col-md-3 py-5\">
                                <div>
                                    <button type=\"button\" class=\"btn bg-light border rounded-circle\"><i class=\"icon-minus\"></i></button>
                                    <input type=\"text\" value=\"1\" class=\"form-control w-25 d-inline\">
                                    <button type=\"button\" class=\"btn bg-light border rounded-circle\"><i class=\"icon-plus\"></i></button>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
    
    ";
    echo  $element;
}

 Jak zrobić, żeby buttony zmieniały wartość w inpucie i żeby dało się wpisywać ręcznie w inputa? Jak narazie przyciski nie działają, a ręczne wpisanie wartości powoduje usunięcie produktu z koszyka

Z góry dzięki za odpowiedzi :)

komentarz 7 marca 2020 przez Ehlert Ekspert (215,210 p.)
Dodaje jako komentarz, bo nie jest to bezpośrednia odpowiedź.

A może ogarnij dobrze sam język? Bo ten kod do jakiś dramat, takich rzeczy się nie robi. Nie uważasz że minimalna znajomość dobrych praktyk jest konieczna do tego żeby tworzony kod był działający, bezpieczny i skalowalny?
komentarz 7 marca 2020 przez piotri14 Początkujący (250 p.)
Wydaje mi się że coś tam potrafię a nie wiem co jest z kodem nie tak. Wszystko jak narazie działa jak należy. Podpowiesz co jest nie tak?
komentarz 7 marca 2020 przez Ehlert Ekspert (215,210 p.)
Wszystko jest nie tak. W tym języku tak się nie pisze. Można, będzie działać, ale to nie jest poprawne.
komentarz 7 marca 2020 przez Ehlert Ekspert (215,210 p.)

Wydaje mi się że coś tam potrafię 

Mi również się tak kiedyś wydawało wink 

komentarz 7 marca 2020 przez piotri14 Początkujący (250 p.)
Podzielisz się swoim sposobem?

1 odpowiedź

0 głosów
odpowiedź 7 marca 2020 przez Ehlert Ekspert (215,210 p.)
wybrane 7 marca 2020 przez piotri14
 
Najlepsza
  • Htmla trzymamy w oddzielnych plikach; szablonach. Takie szablony powinny być wczytywane, a następnie procesowane w ramach wypełniania treścią.
  • Jeśli już chcesz zapisać tak długi string to użyj heredoc lub nowdoc. Nie będziesz musiał escapować quotesów
  • Mamy php7. Nie masz typów argumentów ani typu zwracanego przez funkcję.
  • Dlaczego funkcja nazywa się createElement i nic nie zwraca? Oprócz tego ma bardzo pospolitą nazwę, a wyświetla specyficzną część aplikacji.
  • Dlaczego funkcja wyświetla? To zadanie które należy wykonać na końcu po przetworzeniu całej logiki. Poza tym co jak nagle będziemy dodawać rest api? Programista musi znać implementację i wiedzieć że nie może tego użyć.
  • Bezpieczeństwo. Używanie echo w taki sposób naraża Cię na nawet permanentny atak XSS. Domyślam się że nie wdrożyłeś flagi CSP, więc nawet średnio rozgarnięci ludzie będą mogli przejmować konta Twoich userów.
  • Separuj warstwy. Nie trzymaj razem php i htmla. 
  • Trzymaj się standardów PSR. Co do syntaxu psr 1 oraz 2.
komentarz 7 marca 2020 przez piotri14 Początkujący (250 p.)
Co do bezpieczeństwa to jak narazie nie zamierzam dodawać kont na stronę więc nie będzie dużo do przejmowania. A htmla może rzeczywiście powinienem oddzielić od php :/

Podobne pytania

0 głosów
2 odpowiedzi 353 wizyt
pytanie zadane 3 października 2015 w HTML i CSS przez thedaw Obywatel (1,810 p.)
0 głosów
3 odpowiedzi 703 wizyt
pytanie zadane 23 września 2015 w HTML i CSS przez Piotrek Karasiński Obywatel (1,870 p.)
0 głosów
0 odpowiedzi 278 wizyt

93,720 zapytań

142,648 odpowiedzi

323,266 komentarzy

63,270 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...