Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przesyłanie wartości $_POST $_FILE
Forum PHP.pl > Forum > PHP
exman
Witam!
w moim skrypcie mam zrobiona walidację na podstawie klasy.
Działa to tak:
dane z formularza przesyłane są do pliku który decyduje o formie sprawdzania (AJAX, lub php) klasie sprawdzana jest poprawność danych.
  1. $validator = new validateUserForm($mysqli_aff);
  2.  
  3. if (isset($_GET['validation_type']))
  4. {
  5. $validation_type = $_GET['validation_type'];
  6. }
  7.  
  8. if ($validation_type == 'php')
  9. {
  10. header("Location:" . $validator->validatePHPside());
  11. exit;
  12. }
  13. else {
  14. //AJAX tworzymy strokture dokumentu xml jaki bedzie wysylany
  15. $resp = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' .
  16.  '<response>' .
  17.  '<result>' .
  18.  $validator->switchField($_POST['input_value'], $_POST['field_id']) .
  19.  '</result>' .
  20.  '<field_id>' .
  21.  $_POST['field_id'] .
  22.  '</field_id>' .
  23.  '</response>';
  24. // wysylamy odpowiedz
  25. if(ob_get_length()) ob_clean();
  26. header('Content-Type: text/xml');
  27. echo $resp;
  28. }

po czym (jeśli jest php) zwracana jest strona na jaką należy się udać.
Problem polega na przekazaniu pliku z formularza do kolejnego kroku w którym są zapisywane informacje do bazy, ma być wysyłany plik itp.
O ile łatwo jest zapamiętać wartość pól input za pomocą sesji to pliku zapamiętać się nie da
probowałem przypisać całą tablicę $_FILES itp. ale nie odniosło to skutku.
Jest jakiś sposób by plik zapisać ten plik w taki sposób - na razie robie to w klasie po przejściu pozytywnie walidacji, burzy to jednak całą moją ideę :/
Mam nadzieję , że nie jest to zbyt skomplikowanie wyjaśnione zmęczony jestem w pracy ...
exman
a więcej szczegułów bo jakoś nie chce to działać, jak zserializuje tablica $_FILES, chyba plik tymczasowy jest usuwany zaraz po przejściu na następną stronę.
nospor
nie da sie przekazac uploadowanego pliku na kolejne strony.
Musi zaraz po uploadzie taki plik gdziez zapisac w swoim katalogu a w jakims polu hidden (tudziez w sesji) trzymac informacje o tym przeniesionym pliku. Po przejsciu przez wszystkie strony bedziesz mogl sie do niego dobrac.

Oczywiscie jesli ktos przerwie przechodzenie do kolejnych stron to ci tak plik smiec pozostanie. Musisz wiec co jakis czas czyscic tamten katalog
michal74
można też spróbować zgrać plik tymczasowo do bazy danych z identyfikatorem sesji pod warunkiem, że nie będzie za dużo ważył...
exman
Ok. dzięki za pomoc.
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.