Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Poprawne wczytanie $_POST do klasy
k8dz
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 5.02.2020

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


Mam formularz i po kliknięciu wyślij potrzebuję przekazać jego wartości do klasy, aby móc na nich wykonać operacje. Zastanawiam się jak to poprawnie powinno być wykonane. Czy takie rozwiązanie jest poprawne, czy powinienem to jakoś inaczej zrobić?

  1. $cena_plyty = 25; //domyślna wartość zmiennej
  2.  
  3. if ( isset($_POST['cena_plyty']) and is_numeric($_POST['cena_plyty']))
  4. {
  5. $cena_plyty = $_POST['cena_plyty'];
  6. }
  7.  
  8. $wycena = new Wycena;
  9. $wycena->ustaw_cene($cena_plyty);
  10. echo $wycena->wyswietl_wycene();
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Możesz to rozdzielić na początek na dwie klasy, produktu i wyceny.
Zakładam, że produkty masz zdefiniowane gdzieś (np zapisane w bazie, i do formularza przekazujesz ich ID.
Tak, że w $_POST dostajesz tablice produktów z ich ilościami i cenami, np:

Kod
Array
(
    [0] => Array
        (
            [id] => 1
            [count] => 5
            [price] => 2.34
        )

    [1] => Array
        (
            [id] => 2
            [count] => 1
            [price] => 12.09
        )

    [2] => Array
        (
            [id] => 5
            [count] => 1
            [price] => 25.93
        )

    [3] => Array
        (
            [id] => 9
            [count] => 1
            [price] => 52.83
        )
)


  1. $valuation = new Valuation();
  2.  
  3. foreach($_POST['items'] as $item){
  4. $product = new Product($item['id']);
  5. $product->setPrice($item['price']);
  6. $product->setQuantity($item['quantity']);
  7. $product->setCount($item['count']);
  8.  
  9. $valuation->addProduct($product);
  10. }
  11.  
  12. echo "Suma: ".$valuation->getSum().PHP_EOL;
  13. foreach($valuation->getProducts() as $product){
  14. echo 'Produkt '.$product->getId().' | nazwa: '.$product->getName().' | cena: '.$product->getPrice().PHP_EOL;
  15. }


Api klas dopiszesz sobie sam, oczywiście pamiętając o walidacji danych.
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: 10.10.2025 - 07:07