Цитата(iSummer @ 31.8.2008, 08:52 ) | С помощью Ajax всё красиво делается |
с помощью ajax всё красиво делается, если структура имеет стройную конфигурацию.
Цитата(iSummer @ 31.8.2008, 08:52 ) | Глупо было бы вывести заново страницу с новыми input=file когда уже стёрты следы того что вводил и корректо ввёл |
значит надо сделать реализацию такой формы, которая бы показывала все введённые значения
тут ведь ещё какая фишка, ты ведь загружаешь не наобум просто в какой-то каталог. у тебя поля в данных, допустим несколько input:file для закачки картинок в галлерею пользователя, под него создаётся скажем папка. и при загрузке в БД или куда там прописываются данные. при повторной загрузке надо как-то указать, что этот дозагружаемый файл будет относится именно к этому пользователю и откоректировать запись о нём
дабы избежать всяких сложностей, обычно всё делается так: создаётся один файл в котором будет всё сразу. в нём делаются блоки по принципу:
Код | if(!empty($_REQUEST['stage'])) $stage = $_REQUEST['stage']; else $stage = '';
if($stage == 1) {
// скрипт обработки и закачки файлов $sql = 'insert into table ...';
// если всё хорошо, то производим подключение страницы с результатами if( ... ошибок нет ... ) { include('result.php'); // или перенаправляем куда следует header('Location: result.html'); }
// иначе если происходят ошибки, то вновь вызываем форму с данными, может пользователь хочет что-то подправить else {
$stage = '';
}
}
if(empty($stage)) {
// форма для занесения коррекции данных // все переменные $name и другие определяются в первом блоке при обработке данных // также мы можем вывести все нужные сообщения об ошибках, которые накопили по результатам действия первого блока
?> <form method="post"> your name: <input name="name" value="$name" /> your foto: <input type="file" name="foto" /> <input type="hidden" name="stage" value="1" /> <input type="submit" value="push" /> </form>
<?php
}
|
примерно так
а аяксом, и с этим многие согласятся, следует заниматься только тогда, когда полностью понимается система взаимоотношений скриптов и файлов, иначе будет гораздо больше проблем, потому как аякс - это тоже самое, но мелко нарубленное и вызываемое по частям |