|
|
|
| Столкнулся с необходимостью создания форы отправки текста на мыло, и обнаружил на хостинге предустановленный для этого скрипт CGI , но вся инструкция на английском! Наверняка Вы сталкивались с этим вопросом, подскажите, КАК заставить его работать!!
Я только-только учусь :) | |
|
|
|
|
|
|
|
для: Sasha
(19.04.2005 в 15:37)
| | Я не знаю какой у вас там скрипт, но могу предложить такой...
Форма:
<form action="mail.php" method="POST" name="new">
<INPUT class=input name=name>
<INPUT class=input name=pass>
<input type="submit" value="Отправить" name="submit">
</form>
|
и сам фаил mail.php:
<?php
// указываем аддрес и тему письма.
$to = "a@a.ru";
$subject = "Hello";
// составляем письмо
$message = "
<html>
<head>
<title>$subject</title>
</head>
<body>
Ник - $name</a> <br>
Пароль - $pass<br>
</body>
</html>";
// отправляем письмо
$headers = "Content-type: text/html; charset=windows-1251 \r\n";
mail($to, $subject, $message, $headers);
//выводим на экран то, что письмо было отправлено
echo ("<BR><hr>");
echo ("Анкета отправлена");
echo ("<BR><hr>");
?>
|
| |
|
|
|
|
|
|
|
для: Sasha
(19.04.2005 в 15:37)
| | А не могли бы вы привести этот текст или дать ссылку(если он не в закрытой зоне)? Используется sendmail или ещё что-то? | |
|
|
|
|
|
|
|
для: cheops
(19.04.2005 в 21:31)
| | Используется sendmail.
А страничка, как я понимаю с инструкциями, http://web.mit.edu/wwwdev/cgiemail/user.html
Пока ничего не выходит :( | |
|
|
|
|
|
|
|
для: Sasha
(19.04.2005 в 21:45)
| | Помоему, чем разбираться с инструкциями, быстрее самому написать, тут тебе выложили коды, правда не совсем то, что тебе нужно, но приложив чуть чуть усилий и часок времени, получишь свое собственное произведение, единственное условие - хостинг поддерживающий РНР!
[поправлено модератором] | |
|
|
|
|
|
|
|
для: $OMEGA
(20.04.2005 в 00:22)
| | Кому проще.... :(( | |
|
|
|
|
|
|
|
для: Sasha
(20.04.2005 в 18:19)
| | Кажется с отправкой разобрался!!!
А можно ли, чтоб вводились в поля только русские буквы? Как-то это определять??? Или запретить символы? | |
|
|
|
|
|
|
|
для: sasha
(21.04.2005 в 20:53)
| | Да, для проверки введённой информации в этом случае используются регулярные выражения. Так в вашем случае такое регулярное выражение может выглядеть следующим образом
<?php
$test = "Только русский текст";
$patern = "|^[ а-я]+$|i";
if(preg_match($patern, $test))
{
echo "Выражение введено правильно";
}
else
{
echo "Выражение введено неправильно";
}
?>
|
Утите, что здесь отстутствуют знаки припинания, если они нужны их следут добавить.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=834 | |
|
|
|
|
|
|
|
для: cheops
(21.04.2005 в 22:57)
| | Эээ, а как-же эту присоединить к полям ввода? Или это вписывается в mail.php ?
Что-то я не уловил, что с ним теперь сделать.... чтоб сначала проверялся текст, а в случае правильности отправлялся. | |
|
|
|
|
|
|
|
для: Sasha
(21.04.2005 в 23:12)
| | PHP работает на стороне сервера, поэтому, чтобы скрипт сработ пользователь должен отправить данные на сервер, т.е. обработку следует проводить в mail.php. Если вам необходимо осуществить проверку на стороне клиента (без отправки на сервер) здесь следует прибегнуть к клиентскому языку, например, к JavaScript. О том как можно использовать регулярные выражения в JavaScript посвящена специальная статья, написанная Crux-ом.
http://www.softtime.ru/info/articlephp.php?id_article=42 | |
|
|
|
|
|
|
|
для: cheops
(21.04.2005 в 23:44)
| | Интересно, а если пользователь отключил JavaScript в своем броузере, он наверно сможет заполнять, что угодно..
а как приведённую Вами таблицу включить в приведённый выше файл mail.php дописать сверху? По идее текст же значала должен провериться, а потом передаваться на отправку....или назад, если неправильно.....Как это включить в mail.php ? | |
|
|
|
|
|
|
|
для: sasha
(22.04.2005 в 11:40)
| | Так а что нужно проверить? Пароль и имя посетителя? | |
|
|
|
|
|
|
|
для: cheops
(22.04.2005 в 12:19)
| | Ну, неважно, как использовать эти поля - главное, чтоб поля заполнялись только по русски.....ну, например, пароль и имя... | |
|
|
|
|
|
|
|
для: Sasha
(22.04.2005 в 18:13)
| | Проверку в mail.php можно произвести следующим образом
<?php
// указываем аддрес и тему письма.
$to = "a@a.ru";
$subject = "Hello";
// проверка
$patern = "|^[ а-я]+$|i";
if(!preg_match($patern, $name)) exit("В имене использованы символы отличные от букв русского алфавита");
if(!preg_match($patern, $pass)) exit("В пароле использованы символы отличные от букв русского алфавита");
// составляем письмо
$message = "
<html>
<head>
<title>$subject</title>
</head>
<body>
Ник - $name</a> <br>
Пароль - $pass<br>
</body>
</html>";
// отправляем письмо
$headers = "Content-type: text/html; charset=windows-1251 \r\n";
mail($to, $subject, $message, $headers);
//выводим на экран то, что письмо было отправлено
echo ("<BR><hr>");
echo ("Анкета отправлена");
echo ("<BR><hr>");
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(22.04.2005 в 21:55)
| | Здорово!
А чтоб добавить дополнительные символы, их нужно просто вставить в квадратную скобку $patern = "|^[ а-я]+$|i"; так я понимаю? | |
|
|
|
|
|
|
|
для: Sasha
(22.04.2005 в 23:15)
| | да. | |
|
|
|
|
|
|
|
для: cheops
(22.04.2005 в 23:20)
| | Спасибо! | |
|
|
|