Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Metoda dostaje tablicę a woła o tablicę
sadistic_son
post
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Wrzucam tablice $_POST['product_check'] do mojej metody przyjmującej tablice:
  1. //klasa Request
  2. public function sanitizePostArray(array $request): array
  3. {
  4. $this->post = filter_input_array(INPUT_POST, $request, FILTER_SANITIZE_STRING);
  5. return $this->post;
  6. }
  7.  
  8. //wywołanie metody:
  9.  
  10. if(isset($_POST['product_check'])){
  11. //print_r($_POST['product_check']);
  12.  
  13. $postCheck = new Request();
  14. $postCheck->sanitizePostArray('product_check'));
  15. }
  1. <input type="checkbox" class="delete-checkbox" name="product_check[]" value="1" />
  2. <input type="checkbox" class="delete-checkbox" name="product_check[]" value="2" />
No to skoro tablica oczekuje tablicy, a ja mu wrzucam tablicę $_POST['product_check'] to czego mi wali poniższym błędem?
Kod
Fatal error: Uncaught TypeError: nameOne\Request::sanitizePostArray(): Argument #1 ($request) must be of type array, string given, called in /home/xxx/public_html/index.php on line 20 and defined in /home/xxx/public_html/pagefiles/Request.php:24 Stack trace: #0 /home/xxx/public_html/index.php(20): nameOne\Request->sanitizePostArray('product_check') #1 {main} thrown in /home/xxx/public_html/pagefiles/Request.php on line 24




PS.
public function sanitizePostArray(array $request): array <---- Tutaj pierwsze array znaczy że wrzucamy tablicę do metody, a drugi array że metoda zwraca tablicę. Tak?
Go to the top of the page
+Quote Post
viking
post
Post #2





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

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


Wrzucasz string product_check a nie żadną tablicę.
Go to the top of the page
+Quote Post
sadistic_son
post
Post #3





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


No ale przecież filter_input_array() potrzebuje nzawy zmiennej, którą mu podaję jako string 'product_check'. No to zakładam, że ta funkcja bierze sobie ten string i wyszukuje zmienną POST o takim indexie. No a $_POST['product_check'] to jest tablica.
Ale rozumiem co mówisz - mojej funkcji podaję string rzeczywiście. Więc jeśli pozbędę się typu array sprzed parametru metody, to już nie moja metoda sanitizePostArray() się czepia tylko filter_input_array. Dlaczego?



Ten post edytował sadistic_son 6.01.2023, 14:56:42
Go to the top of the page
+Quote Post

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: 25.08.2025 - 04:50