Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите, CGI !!!
 
 автор: Sasha   (19.04.2005 в 15:37)   письмо автору
 
 

Столкнулся с необходимостью создания форы отправки текста на мыло, и обнаружил на хостинге предустановленный для этого скрипт CGI , но вся инструкция на английском! Наверняка Вы сталкивались с этим вопросом, подскажите, КАК заставить его работать!!
Я только-только учусь :)

   
 
 автор: Niemand   (19.04.2005 в 19:32)   письмо автору
 
   для: 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>");
?>

   
 
 автор: cheops   (19.04.2005 в 21:31)   письмо автору
 
   для: Sasha   (19.04.2005 в 15:37)
 

А не могли бы вы привести этот текст или дать ссылку(если он не в закрытой зоне)? Используется sendmail или ещё что-то?

   
 
 автор: Sasha   (19.04.2005 в 21:45)   письмо автору
 
   для: cheops   (19.04.2005 в 21:31)
 

Используется sendmail.
А страничка, как я понимаю с инструкциями, http://web.mit.edu/wwwdev/cgiemail/user.html

Пока ничего не выходит :(

   
 
 автор: $OMEGA   (20.04.2005 в 00:22)   письмо автору
 
   для: Sasha   (19.04.2005 в 21:45)
 

Помоему, чем разбираться с инструкциями, быстрее самому написать, тут тебе выложили коды, правда не совсем то, что тебе нужно, но приложив чуть чуть усилий и часок времени, получишь свое собственное произведение, единственное условие - хостинг поддерживающий РНР!
[поправлено модератором]

   
 
 автор: Sasha   (20.04.2005 в 18:19)   письмо автору
 
   для: $OMEGA   (20.04.2005 в 00:22)
 

Кому проще.... :((

   
 
 автор: sasha   (21.04.2005 в 20:53)   письмо автору
 
   для: Sasha   (20.04.2005 в 18:19)
 

Кажется с отправкой разобрался!!!
А можно ли, чтоб вводились в поля только русские буквы? Как-то это определять??? Или запретить символы?

   
 
 автор: cheops   (21.04.2005 в 22:57)   письмо автору
 
   для: 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

   
 
 автор: Sasha   (21.04.2005 в 23:12)   письмо автору
 
   для: cheops   (21.04.2005 в 22:57)
 

Эээ, а как-же эту присоединить к полям ввода? Или это вписывается в mail.php ?
Что-то я не уловил, что с ним теперь сделать.... чтоб сначала проверялся текст, а в случае правильности отправлялся.

   
 
 автор: cheops   (21.04.2005 в 23:44)   письмо автору
 
   для: Sasha   (21.04.2005 в 23:12)
 

PHP работает на стороне сервера, поэтому, чтобы скрипт сработ пользователь должен отправить данные на сервер, т.е. обработку следует проводить в mail.php. Если вам необходимо осуществить проверку на стороне клиента (без отправки на сервер) здесь следует прибегнуть к клиентскому языку, например, к JavaScript. О том как можно использовать регулярные выражения в JavaScript посвящена специальная статья, написанная Crux-ом.

http://www.softtime.ru/info/articlephp.php?id_article=42

   
 
 автор: sasha   (22.04.2005 в 11:40)   письмо автору
 
   для: cheops   (21.04.2005 в 23:44)
 

Интересно, а если пользователь отключил JavaScript в своем броузере, он наверно сможет заполнять, что угодно..
а как приведённую Вами таблицу включить в приведённый выше файл mail.php дописать сверху? По идее текст же значала должен провериться, а потом передаваться на отправку....или назад, если неправильно.....Как это включить в mail.php ?

   
 
 автор: cheops   (22.04.2005 в 12:19)   письмо автору
 
   для: sasha   (22.04.2005 в 11:40)
 

Так а что нужно проверить? Пароль и имя посетителя?

   
 
 автор: Sasha   (22.04.2005 в 18:13)   письмо автору
 
   для: cheops   (22.04.2005 в 12:19)
 

Ну, неважно, как использовать эти поля - главное, чтоб поля заполнялись только по русски.....ну, например, пароль и имя...

   
 
 автор: cheops   (22.04.2005 в 21:55)   письмо автору
 
   для: 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>"); 
?>

   
 
 автор: Sasha   (22.04.2005 в 23:15)   письмо автору
 
   для: cheops   (22.04.2005 в 21:55)
 

Здорово!
А чтоб добавить дополнительные символы, их нужно просто вставить в квадратную скобку $patern = "|^[ а-я]+$|i"; так я понимаю?

   
 
 автор: cheops   (22.04.2005 в 23:20)   письмо автору
 
   для: Sasha   (22.04.2005 в 23:15)
 

да.

   
 
 автор: Sasha   (23.04.2005 в 00:15)   письмо автору
 
   для: cheops   (22.04.2005 в 23:20)
 

Спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования