POST обработка сообщения об успешной загрузке файла пользователя

0

Чтобы обмениваться файлами с друзьями, у меня есть простая система, в которой можно ввести пароль, этот пароль отправляется через POST в self (action=""), и пароль проверяется на базе данных. Если это правильно, соответствующий файл будет загружен с помощью:

header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Length: '.filesize($filename) );
readfile($filename);

Теперь у меня есть некоторые предупреждения об ошибках (Bootstrap), когда пароль, например, неверен (тогда загрузка файла пропущена, конечно). Но я хочу показать предупреждение, когда пароль правильный.

Но когда я пытаюсь добавить html с php, когда я также изменяю заголовок и читаю файл, ничего не появляется.

Любые предложения по устранению этого? Благодарю!

  • 0
    Возможно, вы могли бы сделать это более простым способом через htaccess / htpasswd.
  • 0
    Какая часть может быть проще?
Показать ещё 2 комментария
Теги:
post
download
alert

2 ответа

0

Ответ на HTTP-запрос - это один ответ. Всего один ответ на каждый HTTP-запрос.

Ответ может быть либо HTML-страницей, содержащей ваше предупреждающее сообщение, либо скачать, как вы уже делаете.

Типичный подход, используемый для реализации такого рода функций, - это ответ HTML-ответа, содержащий сообщение; и с директивой refresh в элементе <head>, что заставляет браузер выдавать второй запрос, что приводит к загрузке.

  • 0
    Звучит хорошо, я попробую и дам вам знать!
  • 0
    С помощью HTTP meta update я могу перейти на другую страницу, но как мне загрузить файл, как с помощью readfile ? Нужна ли мне еще одна страница, которая выполняет код загрузки в моем Вопросе?
Показать ещё 1 комментарий
0

(Извините, у меня нет репутации 50, поэтому я должен опубликовать ответ)

Вы пытались перенаправить на другую страницу с помощью JavaScript? На этой странице вы можете поместить свое предупреждение

  • 0
    Мне нравится держать пользователя на той же странице, чтобы избежать путаницы и сделать использование простым.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню