Перейти к содержимому

Сервис обмена электронных валют


  • Закрытая тема Тема закрыта

Помогите сделать почтовую форму

#21 VMS100

VMS100
  • Пользователь
  • 11 сообщений
  • Репутация: 0
0

Отправлено 28 Сентябрь 2010 - 19:20

ZiTosS!
В Файле: form.html исправлено на:

<form action="form.php" method="POST" enctype="multipart/form-data">

Все заработало, кроме передачи файла, он не присоединяется к письму.
Помогите пожалуйста! :)
  • 0

#22 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 28 Сентябрь 2010 - 19:27

VMS100, кто вам сказал, что можно так просто вставить загруженный файл в тело письма?
Файлы можно прикреплять, а вот как на них ссылаться в теле письма, я честно сказать, не знаю.
Прикрепление файла: http://www.masterweb...&...ost&p=19590
  • 0

#23 VMS100

VMS100
  • Пользователь
  • 11 сообщений
  • Репутация: 0

Отправлено 28 Сентябрь 2010 - 21:44

ZiTosS!
Все сделал, но не получается с файлом. Посмотрите пожалуйста.
<body>

<form action="form.php" method="POST" enctype="multipart/form-data">
<input type="file" name="datafile" size="40" maxlength="500" accept="text" tabindex="35" /><br />
Cообщите дополнительную информацию:<br />
<textarea name="sometext" cols="30" rows="5" tabindex="36">Дополнительная информация: ...</textarea><br />
</form>
</body>

if (isset ($datafile))
{
$datafile = substr($datafile,0,100); //Не может быть более 100 символов
}

{
$path = $_FILES['datafile']['tmp_name']; // путь до временного файла, который отправляем
$fp = fopen($path, "r"); // открываем файл на чтение
// если по каким либо причинам файл не удалось открыть на чтение (получить файловый дескриптор)
if ( !$fp )
{
print "Файл $path не может быть прочитан";
exit();
}

// если временный файл файл был открыт
$file = fread($fp, filesize($path)); // считываем из файла данные с начала длиной filesize($path) (то есть весь файл)
fclose($fp); // закрываем файл
}

if (isset ($sometext))
{
$sometext = substr($sometext,0,1000); //Не может быть более 1000 символов
if (empty($sometext))
{
echo "<center><b>Нет текста дополнительной информации<p>";
echo "<a href=form.html>Вернуться и правильно заполнить форму</a>";
exit();
}
} else {
$sometext = "не указано";
}

  • 0

#24 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 28 Сентябрь 2010 - 22:00

VMS100,
1) предупреждение, ещё раз один код без оформления - буду наказывать. Устал уже за вами подправлять. Используйте bb-теги, уважайте других пользователей, кто пытается вам помочь.
2) я не понял, что вы хотите тут сделать. Вы ссылку, которую я вам дал выше читали? Там написано, как отсылать письмо с вложением.

Как могу описать ваш выше приведенный скрипт:
Форма с полем для загрузки файла на сервер и многострочного текстового поля. После отправки формы считываем весь загруженный файл(не проверяя загрузился ли он), далее проверка данных из многострочного поля на существование + обрезаем до 1000 символов.
Ах да... К данным, присланным методом POST или GET нужно обязательно обращаться через глобальные массивы $_POST и $_GET. То есть вместо $datafile вам нужно писать - $_POST['datafile']. Ваш вариант сработает при включенном режиме register_globals, но это такой гадкий режим, который открывает дыры. Он обычно отключен или настраивается вручную у нормальных хостеров.

Что вы этим скриптом делаете, объясните?
  • 0


Оформление форума – IPBSkins.ru