X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Вопросы по php
Yandex
Yandex
Topic Starter сообщение 8.5.2011, 13:50; Ответить: Yandex
Сообщение #1


Начинаю постепенно изучать php - часто появляются вопросы.
В этой теме буду периодически задавать их. Буду всем благодарен за помощь wink.gif

Вопрос 1:
Есть форма, в которой присутствует загрузка файлов: <input type="FILE">
Файлы для загрузки бывают довольно большими. Как добавить анимационную картинку, которая бы показывала, что файл загружается? Вот типа такой:
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
magistr_yoda
magistr_yoda
сообщение 8.5.2011, 14:01; Ответить: magistr_yoda
Сообщение #2


Это над од елать на ajax/jquery - Загрузка файлов на ajax - поищите.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Yandex
Yandex
Topic Starter сообщение 8.5.2011, 14:02; Ответить: Yandex
Сообщение #3


Вопрос 2:
Как добавить вывод ошибок: когда файл загрузился неудачно и когда не заполнены все поля формы?

magistr_yoda, хм, спасибо посмотрю
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
On1x
On1x
сообщение 8.5.2011, 14:11; Ответить: On1x
Сообщение #4


Привет, мое имя Анатолий, http://on1x.com занимаюсь разработкой сайтов в интернете.
Сейчас раскрою немного эту тему.
Этот вопрос не про php smile.gif А про технологию.
По факту - php лишь обрабатывает и отдает информацию.
Все красивости которые происходят в процессе - ложатся на плечи javascript(js) или flash.
Загрузка файлов через <input type="file"> идет непосредственно в виде - заголовок запроса(включая весь отправляемый файл) отправляется на сервер, сервер отдает весь запрос php(там то мы и получаем уже загруженный файл по ссылке).
Обслуживание процесса во время загрузки файла - возможно только в флеше.
Через javascript обычно делают так - у формы ставится <form target="for_ajax"> чтобы вся форма не оправлялась в данном окне, а отправляла все данные в фрейм. Внизу страницы добавляем <iframe src="" name="for_ajax" style="width:1px;height:1px;display:none;"></iframe> это сам фрейм.
Теперь форма будет отправлена, но перезагрузки страницы не будет.
Через javascript ловят отправку формы и отображают картинку с анимацией. После загрузки данных формы в ифрейм, выполняется скрипт по обновлению страницы, или остановку и удаление этой картинки с анимацией со страницы.

В итоге есть 2 технологии: flash, который позволяем даже писать, сколько байт из файла уже переданы серверу, с любой анимацией или % загрузки. И само собой javascript реализация - с двумя моментами - начало загрузки - конец загрузки, промежуточное состояние никак не получить.

Если есть интерес ознакомится больше с технологиями - поищи, например, в Яндексе "flash загрузка файлов".

Про второй вопрос.
Есть вывод ошибок при выполнении скрипта, обычно для самих разработчиков - включение вывода ошибок error_reporting(255) , выключение error_reporting(0).

Если интересует вывод ошибок именно для пользователя, я бы посоветовал делать это подобным образом.
$error=array();
if(!$_POST['name']){
$error[]='Вы не ввели своего имени.';//добавит в массив $error новую строку
}


Потом можно проверить:
if($error){//если $error не пустой
foreach($error as $k=>$v){
print '<p><b>Ошибка! </b>'.$v.'</p>';
}
}
else{
print 'Все нормально, ошибок нет';//можно продолжить работу скрипта
}

В целом все просто, будут вопросы, пиши в аську мне 678822.


--------------------


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kostap13
Kostap13
сообщение 9.5.2011, 10:50; Ответить: Kostap13
Сообщение #5


Вопрос 1:
Ответ: http://www.uploadify.com/demos/
или же тут

Вопрос2:
$_FILES['userfile']['error'] - Начиная с версии 4.2.0, содержит код ошибки, который равен 0, если операция прошла успешно.
разъяснение кодов ошибок здесь.
Т.е. при загрузке файла Вы проверяете наличие ошибок. Если они есть, то выводите сообщение, если нет, то продолжаете работу.
Вообще советую гуглить на тему "загрузка файлов php" или же что-то подобное, т.к. там есть ещё разные интересные моменты.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Yandex
Yandex
Topic Starter сообщение 22.5.2011, 19:22; Ответить: Yandex
Сообщение #6


Еще вопросик, ну очень простой smile.gif

Есть 2 переменные, их значения нужно добавить в таблицу mysql, в 2 поля соответственно.
Что есть:

$one = "один";
$two = "два";


Далее предполагаю сделать так:

$hostname = "localhost";
$username = "root";
$password = "";

mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");


А что дальше? Уж простите меня за такой нубский вопрос blush.gif

Сообщение отредактировал Yandex - 22.5.2011, 19:22
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
proXBOCT
proXBOCT
сообщение 22.5.2011, 19:30; Ответить: proXBOCT
Сообщение #7


mysql_query() - Выполняет запрос, который содержится внутри функции.

Очень рекомендую: http://www.softtime.ru/bookphp/
Сам изучал PHP по нему


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WebAction
WebAction
сообщение 22.5.2011, 19:38; Ответить: WebAction
Сообщение #8


mysql_query("INSERT INTO table(field_one, field_two) VALUES ('$one', '$two')");


--------------------
--тут может быть ваша реклама--


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
proXBOCT
proXBOCT
сообщение 22.5.2011, 19:43; Ответить: proXBOCT
Сообщение #9


(WebAction @ 22.5.2011, 19:38) *
mysql_query("INSERT INTO table(field_one, field_two) VALUES ('$one', '$two')");

Так тоже верно, но наверно лучше так:
mysql_query("INSERT INTO table(field_one, field_two) VALUES ('".$one."', '".$two."')");
Извиняюсь, за дотошность =)

Сообщение отредактировал proXBOCT - 22.5.2011, 19:44


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
danisimo
danisimo
сообщение 22.5.2011, 20:11; Ответить: danisimo
Сообщение #10


Так тоже верно, но наверно лучше так:
mysql_query("INSERT INTO table(field_one, field_two) VALUES ('".$one."', '".$two."')");


чем же это оно лучше ? ничем не лучше)


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3399 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1242 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44907 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Есть спецы по php/laravel?
3 Mixatraider 1889 26.5.2023, 20:48
автор: Mixatraider
Открытая тема (нет новых ответов) Опытный PHP\Python разработчик в поиске интересных задач
6 daikzlex 3402 25.5.2023, 13:55
автор: daikzlex


 



RSS Текстовая версия Сейчас: 19.4.2024, 17:24
Дизайн