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.
$validator = new validateUserForm($mysqli_aff); if (isset($_GET['validation_type'])) { $validation_type = $_GET['validation_type']; } if ($validation_type == 'php') { header("Location:" . $validator->validatePHPside()); exit; } else { //AJAX tworzymy strokture dokumentu xml jaki bedzie wysylany $resp = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' . '<response>' . '<result>' . $validator->switchField($_POST['input_value'], $_POST['field_id']) . '</result>' . '<field_id>' . $_POST['field_id'] . '</field_id>' . '</response>'; // wysylamy odpowiedz if(ob_get_length()) ob_clean(); header('Content-Type: text/xml'); echo $resp; }
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 ...