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]   

> Без описания
Alien_z
Отправлено: 30 Декабря, 2012 - 16:38:09
Post Id


Новичок


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


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




Php изучаю пару дней, так что не ругайте если вопрос нубовый. Есть страница с формой, данные направляются на страницу с php кодом изображенным ниже, а дальше на почту. Переменную $add_file добавил, а как обработать ее в скрипте не знаю. Что дописать, подскажите пожалуйста.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $name = $_POST['name'];
  5. $phone = $_POST['phone'];
  6. $photo = $_POST['photo'];
  7. $name_mess = $_POST['name_mess'];
  8. $mess = $_POST['mess'];
  9. $cena = $_POST['cena'];
  10. $add_file = $_FILE['add_file'];
  11.  
  12. $REMOTE_ADDR = $_POST['REMOTE_ADDR'];
  13.  
  14. if (isset ($name))
  15. {
  16. $name = substr($name,0,50); //Не может быть более 50 символов
  17. if (empty($name))
  18. {
  19. echo "<center><b>Не указано имя !!!<p>";
  20. echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
  21. }
  22. }
  23.  
  24. if (isset ($phone))
  25. {
  26. $phone = substr($phone,0,25); //Не может быть более 25 символов
  27. if (empty($phone))
  28. {
  29. echo "<center><b>Не указан телефон !!!<p>";
  30. echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
  31. }
  32. }
  33.  
  34. if (isset ($photo))
  35. {
  36. $photo = substr($photo,0,100); //Не может быть более 100 символов
  37. if (empty($photo))
  38. {
  39. echo "<center><b>Не указана ссылка на фотографии !!!<p>";
  40. echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
  41. }
  42. }
  43. else
  44. {
  45. $photo = "не указано";
  46. }
  47.  
  48. if (isset ($name_mess))
  49. {
  50. $name_mess = substr($name_mess,0,100); //Не может быть более 100 символов
  51. if (empty($name_mess))
  52. {
  53. echo "<center><b>Не указано название объявления !!!<p>";
  54. echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
  55. }
  56. }
  57.  
  58. if (isset ($mess))
  59. {
  60. $mess = substr($mess,0,5000); //Не может быть более 5000 символов
  61. if (empty($mess))
  62. {
  63. echo "<center><b>Текст объявления отсутствует !!!<p>";
  64. echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
  65. }
  66. }
  67.  
  68. if (isset ($cena))
  69. {
  70. $cena = substr($cena,0,20); //Не может быть более 20 символов
  71. if (empty($cena))
  72. {
  73. echo "<center><b>Не указана цена !!!<p>";
  74. echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
  75. }
  76. }
  77.  
  78. $i = '';
  79. if ($name == $i AND $phone == $i AND $name_mess == $i AND $mess == $i AND $cena == $i)
  80. {
  81. echo "Внимание! Произошла ошибка! Вы не заполнили поля сообщения!";
  82. }
  83.  
  84. $to = "xxxxx@mail.ru";
  85. $subject = "Заявка на объявление";
  86. $message = "Имя: $name\n\nТелефон: $phone\n\nФото: $photo\n\nОбъявление:\n\n$name_mess\n\n$mess\n\nЦена: $cena\n\nIP-адрес: $_SERVER[REMOTE_ADDR]";
  87. mail ($to,$subject,$message,"Content-type:text/plain; charset = utf-8") or print "Не могу отправить заявку !!!";
  88. echo "<center><b>Спасибо, что воспользовались нашим сервисом! <br><br> В ближайшее время объявление будет размещено на сайте http://xxxxxx.ru";
  89. ?>
 
 Top
Denkill
Отправлено: 02 Января, 2013 - 07:09:58
Post Id



Посетитель


Покинул форум
Сообщений всего: 330
Дата рег-ции: Янв. 2013  
Откуда: Барнаул


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




$_FILE['add_file'] - это массив который передается через метод POST
Попробуй посмотреть содержимое массива

PHP:
скопировать код в буфер обмена
  1.  if($_FILES["filename"]["size"] > 1024*3*1024)
  2.    {
  3.      echo ("Размер файла превышает три мегабайта");
  4.      exit;
  5.    }
  6.    // Проверяем загружен ли файл
  7.    if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
  8.    {
  9.      // Если файл загружен успешно, перемещаем его
  10.      // из временной директории в конечную
  11.      move_uploaded_file($_FILES["filename"]["tmp_name"], "/path/to/file/".$_FILES["filename"]["name"]);
  12.    } else {
  13.       echo("Ошибка загрузки файла");
  14.    }


P.S.
Вместо substr используй strlen для проверки допустимой длины Улыбка

(Отредактировано автором: 02 Января, 2013 - 08:03:05)



-----
Хо-Хо-Хо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB