Форма PHP отправляет письмо с заголовками полей, без собранных данных - PullRequest
0 голосов
/ 29 января 2012

Я пытался заставить скрипт Php работать большую часть недели: - /. Я держал это очень просто, и я все еще не могу понять это ... странно ...
Он работает достаточно хорошо, и я получаю электронное письмо со следующим сообщением:

Name:
Phone number:
Email Address :
Street Address:
Managment Contact:

Как вы можете видеть - никакие данные не доходят до меня, хотя.

Это HTML-форма:

<td width="487" height="240" bgcolor="#1D1D1D"><form action="Contact form/processrequest.php" method="post" name="request form" target="_parent" id="request form">
              <table width="488" border="0" cellspacing="0" cellpadding="6">
                <tr>
                  <td width="161" height="34" align="right"><label for="name" class="adf">Name </label></td>
                  <td width="303" align="left" bgcolor="#1D1D1D"><input name="Name" type="text" id="Name" size="50" maxlength="200" /></td>
                </tr>
                <tr>
                  <td height="34" align="right" class="adf"><label for="phone">Phone Number </label></td>
                  <td align="left"><input name="Phone Number " type="text" id="Phone Number " size="50" maxlength="300" /></td>
                </tr>
                <tr>
                  <td height="34" align="right" class="adf"><label for="email">Email Address </label></td>
                  <td align="left"><input name="Email Address" type="text" id="Email Address" size="50" maxlength="300" /></td>
                </tr>
                <tr>
                  <td height="34" align="right" class="adf"><label for="street">Street Address </label></td>
                  <td align="left"><input name="Street Address" type="text" id="Street Address" size="50" maxlength="300" /></td>
                </tr>
                <tr>
                  <td height="34" align="right" class="adf"><label for="mgmt">MGMT Contact </label></td>
                  <td align="left"><input name="Management Contact" type="text" id="Management Contact" size="50" maxlength="300" /></td>
                </tr>
                <tr>
                  <td height="36" align="right">&nbsp;</td>
                  <td align="left"><input type="submit" name="Send" id="Send" value="Submit" /></td>

и это PHP:

<?php
// Get Data 
$name= "$name";
$phone= "$phone";
$email= "$email";
$street= "$street";
$mgmt= "$mgmt";

// Send Message
mail( "myemail@my.com", "Contact From Website",
    "Name: $name \nPhone number: $phone \nEmail Address : $email\nStreet Address:              $street\nManagment Contact: $MGMT\n",
    "From: Wearable Collections Facebook App Bin Request Form  <myemail@my.com>" );
    ?>

Я чувствую, что, возможно, я упускаю что-то очень очевидное - поэтому любая помощь будет высоко оценена !!!!

Ответы [ 2 ]

1 голос
/ 29 января 2012

Это то, как вы получаете ваши данные.

Попробуйте следующим образом.

Также см. Примечания по безопасности ниже.

<?php
    // Get Data 
    $name= $_REQUEST["name"]; // Works for both get and post, as opposed to $_GET["name"] or $_POST["name"];
    $phone= $_REQUEST["phone"];
    $email= $_REQUEST["email"];
    $street= $_REQUEST["street"];
    $mgmt= $_REQUEST["mgmt"];

    // Send Message
    mail( "myemail@my.com", "Contact From Website",
    "Name: $name \nPhone number: $phone \nEmail Address : $email\nStreet Address:              $street\nManagment Contact: $MGMT\n",
    "From: Wearable Collections Facebook App Bin Request Form  <myemail@my.com>" );
    ?>

Подробнее о работе с PHP и формами здесь:

http://php.net/manual/en/tutorial.forms.php

Подробнее о $ _REQUEST здесь:

http://www.php.net/manual/en/reserved.variables.php

ВАЖНО !!!!! Также ознакомьтесь со следующими статьями по безопасности, которые вы должны изучать в процессе обработки форм:

http://phpsense.com/2006/php-email-injection-attacks/

http://www.sitepoint.com/php-security-blunders/

http://php.net/manual/fr/function.mysql-real-escape-string.php

1 голос
/ 29 января 2012

Проблема здесь:

$name= "$name";

Чтобы получить данные формы, вы должны использовать:

$name = $_POST['name'];

Повторите эти действия для каждого поля формы, и у вас будет рабочий набор данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...