Форма PHP отправка информации в Limbo! - PullRequest
0 голосов
/ 09 июня 2009

Мне сказали, что форма цитаты моего клиента не генерирует очень много электронных писем. Я узнал, что, хотя форма приводит вас на страницу подтверждения, информация никогда не достигает получателя.

Я изменил код, чтобы он отправлялся на мой рабочий адрес электронной почты для тестирования. Если я опубликую код для элементов формы ниже, кто-нибудь сможет определить, в чем проблема?

Большое спасибо!

Ссылка на страницу цитаты: http://autoglass -plus.com / quote.php

Первая - это сама форма:

<form id="quoteForm" name="form" action="form/index.php" method="post">
  <fieldset>
  <p> <strong>Contact Information:</strong><br />
  </p>
    <div>
    <label for="firstname">First Name:<br />
    </label>
    <input type="text" size="30" name="firstname" class="txt" id="firstname" />
  </div>
    <div>
    <label for="lastname">Last Name:<br />
    </label>
    <input type="text" size="30" name="lastname" class="txt" id="lastname" />
  </div>
    <div>
    <label for="address">Address:<br />
    </label>
    <input type="text" size="30" name="address" class="txt" id="address" />
  </div>
    <div>
    <label for="city">City:<br />
    </label>
    <input type="text" size="30" name="city" class="txt" id="city" />
  </div>
    <div>
    <label for="state">State:<br />
    </label>
    <input type="text" size="30" name="state" class="txt" id="state" />
  </div>
    <div>
    <label for="zip">Zip:<br />
    </label>
    <input type="text" size="30" name="zip" class="txt" id="zip" />
  </div>
    <div>
    <label for="label">Phone:<br />
    </label>
    <input type="text" size="30" name="phone" class="txt" id="label" />
  </div>
    <div>
    <label for="email">Email:<br />
    </label>
    <input type="text" size="30" name="email" class="txt" id="email" />
  </div>
    <p><br />
        <b>Insurace Information</b></p>
    <p><i>Auto Glass Plus in an Approved Insurance Vendor. Insurance claims require additional information that we will request when we contact you for your quote.</i></p>
    <br />
  <div>
    <input type="checkbox" name="insurance" value="yes" />
    Check here if this is an insurance claim.<br />
    <label for="year">Insurance Provider:<br />
    </label>
    <input type="text" size="30" name="provider" class="txt" id="provider" />
  </div>
    <p><br />
      <b>Vehicle Information:</b><br />
  </p>
    <div>
    <label for="year">Vehicle Year :<br />
    </label>
    <input type="text" size="30" name="year" class="txt" id="year" />
  </div>
    <div>
    <label for="make">Make: </label>
    <br />
    <input type="text" size="30" name="make" class="txt" id="make" />
  </div>
    <div>
    <label for="model">Model:</label>
    <br />
    <input type="text" size="30" name="model" class="txt" id="model" />
  </div>
    <div>
    <label for="body">Body Type:<br />
    </label>
    <select name="body" id="body">
      <option>Select One</option>
      <option value="2 Door Hatchback">2 Door Hatchback</option>
      <option value="4 Door Hatchback">4 Door Hatchback</option>
      <option value="2 Door Sedan">2 Door Sedan</option>
      <option value="4 Door Sedan">4 Door Sedan</option>
      <option value="Station Wagon">Station Wagon</option>
      <option value="Van">Van</option>
      <option value="Sport Utility">Sport Utility</option>
      <option value="Pickup Truck">Pickup Truck</option>
      <option value="Other Truck">Other Truck</option>
      <option value="Recreational Vehicle">Recreational Vehicle</option>
      <option value="Other">Other</option>
    </select>
  </div>
    <p><b><br />
      Glass in Need of Repair:</b><br />
  </p>
    <div>
    <input type="checkbox" name="repairs" value="Windshield" />
      Windshield<br />
      <input type="checkbox" name="repairs" value="Back Glass" />
      Back Glass<br />
      <input type="checkbox" name="repairs" value="Driver&rsquo;s Side Window" />
      Side Window*<br />
      <input type="checkbox" name="repairs" value="Chip Repair" />
      Chip Repair<br />
      <input type="checkbox" name="repairs" value="Other" />
      Other </div>
    <p><strong>*Important:</strong> For side glass, please indicate the specific window that needs replacement <i>(e.g. passenger side rear door or driver side vent glass)</i>, and any tinting color preference in the <strong>Describe Damage </strong> field.</p>
    <p><br />
      <b>Describe Damage</b></p>
    <div>
    <textarea rows="6" name="damage" id="damage" cols="37" class="txt"></textarea>
  </div>
    <input type="hidden" name="thanks" value="../thanks.php" />
  <input type="hidden" name="required_fields" value="firstname, lastname, email, phone" />
  <input type="hidden" name="html_template" value="testform.tpl.html" />
  <input type="hidden" name="mail_template" value="testmail.tpl.txt" />
  <div class="submit">
    <center>
      <input type="submit" value="Submit Form" name="Submit" id="Submit" />
    </center>
  </div>
  </fieldset>
</form>

Затем он отправляет файл с именем index.php внутри папки «form»:

<?php

      $script_root           = './';

      $referring_server      = 'www.wmsgroup.com, wmsgroup.com, scripts';
      $allow_empty_referer   = 'yes';     // (yes, no)

      $language              = 'en';      // (see folder 'languages')

      $ip_banlist            = '';

      $ip_address_count      = '0';
      $ip_address_duration   = '48';

      $show_limit_errors     = 'yes';    // (yes, no)

      $log_messages          = 'no';     // (yes, no)

      $text_wrap             = '65';

      $show_error_messages   = 'yes';

      $attachment            = 'no';    // (yes, no)
      $attachment_files      = 'jpg, gif,png, zip, txt, pdf, doc, ppt, tif, bmp, mdb, xls, txt';
      $attachment_size       =  100000;  

      $path['logfile']       = $script_root . 'logfile/logfile.txt'; 
      $path['upload']        = $script_root . 'upload/'; // chmod 777 upload
      $path['templates']     = $script_root . 'templates/';

      $file['default_html']  = 'testform.tpl.html';
      $file['default_mail']  = 'testmail.tpl.txt';

      /*****************************************************
      ** Add further words, text, variables and stuff
      ** that you want to appear in the templates here.
      ** The values are displayed in the HTML output and
      ** the e-mail.
      *****************************************************/
      $add_text = array(

                          'txt_additional' => 'Additional', //  {txt_additional}
                          'txt_more'       => 'More'        //  {txt_more}

                        );


      /*****************************************************
      ** Do not edit below this line - Ende der Einstellungen
      *****************************************************/  

      /*****************************************************
      ** Send safety signal to included files
      *****************************************************/
      define('IN_SCRIPT', 'true');

      /*****************************************************
      ** Load formmail script code
      *****************************************************/
      include($script_root . 'inc/formmail.inc.php')
      ?>

Существует также formail.inc.php, testform.tpl.php, testform.tpl.text и затем страница подтверждения, спасибо.php

Я хочу знать, как все это работает вместе и в чем может быть проблема.

Ответы [ 3 ]

1 голос
/ 10 июня 2009

Это ответ на ваш вопрос "как все это работает вместе".

Пользователь вводит информацию на странице quote.php. Когда страница отправлена, она отправляется в форму / index.php для обработки. Этот файл выполняет некоторые проверки и форматирует введенную информацию двумя способами: одним способом для html-почты с использованием шаблона testform.tpl.php и вторым способом для текстовой электронной почты с использованием формы testform.tpl.text. Затем информация передается в formmail.inc.php, который отправляет электронное письмо, а затем в thanks.php, который отображает ответ пользователю.

В чем может быть проблема? Посмотрите файл formmail.inc.php и убедитесь, что он правильно настроен для вашего сервера и установки php.

1 голос
/ 10 июня 2009

Ваша форма, похоже, использует пакет GentleSource.com Form Mail . Я предлагаю начать с нуля с новой загрузки их исходных файлов zip или tar.gz в подкаталог. Затем запустите их инструкции по установке, проверьте его. Затем настройте его так, как работала ваша предыдущая форма.

0 голосов
/ 03 июля 2009

Вы должны убедиться, что адреса электронной почты в почтовом шаблоне mail.tpl.txt имеют правильный формат. Адреса электронной почты должны быть в угловых скобках:

From: <visitor@example.com>

Если вы используете поля имя и фамилия, они должны быть в кавычках:

From: "{firstname} {lastname}" <vistor@example.com>

Другие возможности, почему скрипт не будет отправлять электронные письма: сервер Windows без MTA. Почта попадает в спам-фильтр где-то в пути.

Вы должны проверить, может ли сервер даже отправлять электронные письма:

<?php 

mail('your-email@example.com', 'Test-Subject', 'Test-Message');

?>
...