Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Загрузка файла

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Загрузка файла
dembi
Отправлено: 12 Ноября, 2009 - 16:26:11
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




Привет Всем!

Есть страница, которая к примеру содержит следующие поля:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <form method="post" id="form">
  3.  
  4. <p><labele id="labele_text">Тема</labele><
  5. <input type="text" name="subject" maxlength="50" size="50"/></p>
  6.  
  7. <p><labele id="labele_text">Имя</labele>
  8. <input type="text" name="name" maxlength="50" size="50"/></p>
  9.                        
  10. <form action="upload.php" method="post" enctype="multipart/form-data">
  11. <labele id="labele_text">Изображение</labele></td>
  12. <input type="file" name="image">
  13. <input type="submit" value="Загрузить">
  14. </form>
  15.  
  16. <input id="button" value="Создать" name="submit" type="submit"  onclick="document.forms.form.action = 'add.php'"></input>
  17. </form>
  18.  


К сожалению, в данной момент у меня не вызывается обоботчик 'add.php'
И не вызывается обработчик загрузки картинки.

Подскажите, пожалуйста, где я ошибаюсь???

Заранее спасибо большое.
 
 Top
valenok Модератор
Отправлено: 12 Ноября, 2009 - 16:31:36
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




onclick="document.forms.form.action = "add.php""
тебе ни о чем не говорит ?
и выглядит оно тоже нормально ?


-----
Truly yours, Sasha.
 
My status
 Top
dembi
Отправлено: 12 Ноября, 2009 - 16:38:23
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




valenok пишет:
onclick="document.forms.form.action = "add.php""


CODE (text):
скопировать код в буфер обмена
  1.  
  2. onclick="document.forms.form.action = ‘add.php’"
  3.  


Так тоже не работает.
(Добавление)
Все понял, где проблема
На странице не может быть больше чем 1 форма.

Я создал одну форму:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <form method="post" id="form" enctype="multipart/form-data">
  3.  


И для загрузки изображений или передачи данных с формы, использую опцию:
onclick="document.forms.form.action = 'ххххх'

,где 'ххххх' это имя обработчика.

Если есть другой вариант, буду рад попробовать его.
(Добавление)
Возникла другая проблема.

Как мне после того, как я отдал запрос обработчику на загрузку файла, мне опять вернуться в мое окно заполнения формы и при этом, если уже где-то какое-то поле было заполнено, чтобы данные в нем остались????
Хотелось бы, чтобы обработчик меня автоматически возвращал на страницу заполнения формы…

Заранее спасибо.
 
 Top
biperch
Отправлено: 12 Ноября, 2009 - 18:05:01
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009  
Откуда: Днепропетровск


Помог: 8 раз(а)




в обработчике принятия файла в конце ставиш HEADER где xyz перевенные которые передаются на site.ru
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. header("Location: site.ru?x=1&y=2&z=3");
  4.  
  5.  
  6.  
 
 Top
dembi
Отправлено: 12 Ноября, 2009 - 18:09:59
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




biperch пишет:
в обработчике принятия файла в конце ставиш HEADER где xyz перевенные которые передаются на site.ru
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. header("Location: site.ru?x=1&y=2&z=3");
  4.  
  5.  
  6.  



Спасибо неплохое решение.
попробую реализовать....
 
 Top
dembi
Отправлено: 13 Ноября, 2009 - 11:59:03
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




Все хорошо, за исключением получение значения ошибки.

Вот скрипт, который занимается загрузкой файла на сервер.

CODE (text):
скопировать код в буфер обмена
  1.  
  2. if ($_FILES["image"]["size"] > 1024 * 200) {
  3.         $err_image="Размер файла превышает 200Кб";
  4. } elseif (!empty($_FILES["image"]["name"])) {
  5.         copy($_FILES['image']['tmp_name'], $uploadfile);
  6.         $err_image="Файл успешно загружен на сервер";
  7. } else {
  8.         $err_image="Ошибка! Не удалось загрузить файл на сервер!";
  9. }
  10.  


Вот переменная, которая будет возвращаться обратно на страницу с формой.
Все передается нормально за исключением переменной $err_image…

CODE (text):
скопировать код в буфер обмена
  1.  
  2. $var="job=$job&speed=$speed&oa=$oa%subject=$subject&text=$text&err=$err_image";
  3.  
  4. header("Location: add_job.php?$var");
  5.  


пожалуйста, подскажите, в чем может быть проблема???

Как результат проверки, есть ли значения в этой переменной – результат пустой:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. if (empty($err_image)) {
  3.         echo "Empty";
  4. } else {
  5.         echo "Not empty";
  6. }
  7.  

(Добавление)
Прошу прощения – мои кривые ручки ))))
Ошибка в формирование переменной $var Радость
Вместо err нужно указывать было err_image

CODE (text):
скопировать код в буфер обмена
  1.  
  2. $var="job=$job&speed=$speed&oa=$oa%subject=$subject&text=$text&err_image=$err_image";
  3.  
 
 Top
JustUserR
Отправлено: 14 Ноября, 2009 - 00:55:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




dembi пишет:
onclick="document.forms.form.action = "add.php""
Помните что это HTML и здесь даже не поможет экранирование кавычек (Так как браузер при парсере HTML читает от ткрывающих кавычек до закрывающих) - поэтому лучше использовать функцию JS
dembi пишет:
На странице не может быть больше чем 1 форма.
Еще как может только передавать их надо во фрейм к примеру - с помощью JS нескожно сделать одновременную отправку нескольких форм


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Мелкий Супермодератор
Отправлено: 14 Ноября, 2009 - 10:59:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




dembi пишет:
На странице не может быть больше чем 1 форма.

Не так, в форме не может быть формы. А раздельных форм - да сколько угодно. Взять хоть этот сайт - форма поиска и форма опросника.


-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 14 Ноября, 2009 - 13:13:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Мелкий пишет:
Не так, в форме не может быть формы. А раздельных форм - да сколько угодно
Согласен - я имел в виду что может быть несколько форм которые отправляются почти синхронно


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB