PHP Form Question - создание формы, которая позволяет пользователю отправлять информацию о сайте другу - PullRequest
0 голосов
/ 24 февраля 2011

Edit-

Спасибо за ваши быстрые ответы.В частности, я хочу, чтобы я настроил html-страницу, единственная цель которой - захватить заполненную пользователем форму, а затем поместить ее в тело письма и отправить человеку, которого он выбрал.Я хотел бы отформатировать эту HTML-страницу, чтобы быть очень простым.Я не знаю, сужает ли это еще больше.

Привет,

Мне нужно создать 2 формы, одна из которых является типичной формой контакта php, которую я заполнил, а другую нужно разрешить.пользователь отправляет сжатую версию информации сайта другу.Ссылка "Поделиться этим сайтом".Мой клиент прислал мне образец, в котором вы вводите адрес электронной почты получателя, адрес электронной почты отправителя, имя и сообщение, и получатель получает письмо в формате html с уплотненной информацией.Я не эксперт, и я, наконец, получил представление о базовой форме контакта.Любая помощь будет принята с благодарностью.

Спасибо, Джанфранко

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Больше подробностей определенно помогло бы здесь, я не могу понять, хотите ли вы отправить часть данных $ _POST [] другому пользователю или фактически поделиться контентом на странице с другим пользователем.

Если вы хотите отключить данные $ _POST [] (или некоторые из них), просто включите цикл для создания комбинаций var / val и отправьте их другому пользователю как часть вашей процедуры обработки.Код для этого будет выглядеть примерно так:

// set headers
$sheaders = 'From: webmaster@example.com' . "\r\n" .
  'Reply-To: webmaster@example.com' . "\r\n" .
  'X-Mailer: PHP/' . phpversion();

// generate $_POST[] summary for email
$smsg = NULL;
foreach ($_POST as $svar => $sval)
{
  if(!empty($sval))
  {
    $smsg .= "$svar : ".htmlspecialchars($sval)."\n";
  }
}

mail('blah@spam.com', date("m/d/Y")."-Submission", $smsg, $sheaders);

Если вы говорите о рассылке контента на странице, я думаю, что простой отправкой, которая отправляет ссылку на текущую страницу, было бы хорошим решением,в частности, из-за того, что все почтовые клиенты отображают HTML по-разному (или не отображают его вообще), поэтому отправка ссылки - это верный способ вернуть людей к нужному контенту.

0 голосов
/ 24 февраля 2011

Для этого вам понадобятся четыре вещи:

  1. Форма, которая позволяет вводить «электронную почту отправителя», «электронную почту получателя», «имя» и «сообщение». Это также должно включать некоторую ссылку на страницу, которую они хотят отправить (независимо от того, является ли это URL-адресом, идентификатором и т. Д., Вам просто нужен какой-то способ определить это. Это хорошая идея, чтобы пассивно отправить это в форму.) Вы ' Я должен решить, где и как отобразить это (например, на своей странице, на каждой странице содержимого, в виде всплывающего окна, в виде всплывающего окна и т. д.).

  2. Скрипт, который может извлекать соответствующие части рассматриваемой страницы для отправки по электронной почте. Например, если это просто изображение с заголовком, вам может потребоваться только изображение и заголовок (не полоса заголовка, панель навигации или что-либо подобное). Для статьи вы можете отправить весь текст или отправить только фрагмент. Я нашел самый простой способ сделать это - убедиться, что фактический контент находится в некоторой $content подобной переменной, которую вы можете анализировать по своему усмотрению.

  3. Шаблон электронной почты, в который можно вставить данные из элемента №2. Это может быть пустое электронное письмо, электронное письмо, похожее на ваш сайт, с заголовком, цветами и т. Д., Или что-то совершенно другое Это зависит от вас.

  4. Скрипт электронной почты, который может отправлять электронную почту от элемента № 3 на электронную почту от элемента № 1, с дополнительным фактом, что электронное письмо должно быть помечено как отправленное от "отправителя электронная почта "с шага # 1. Это можно сделать с помощью заголовков электронной почты.

Если у вас есть все эти шаги, это относительно просто, получить необходимые данные из формы в пункте № 1. Соберите необходимые данные элемента из шага № 2, учитывая идентификатор, переданный в форму в элементе № 1. Загрузите шаблон электронной почты и вставьте в него данные из элементов № 1 и № 2, затем создайте необходимые заголовки, состоящие из данных пользователя в элементе № 1. Затем отправьте это сообщение электронной почты в элемент № 4 для доставки.

Вы задаете очень широкий вопрос, и это лучший способ, которым я могу ответить на него без дополнительных подробностей. Я бы посоветовал вам рассмотреть каждый из этих пунктов в отдельности, так как это поможет уменьшить вашу рабочую нагрузку и даст Вы более гибкий, расширяемый и надежный скрипт.

...