Проблемы с php контактной формы

Это код, который я использую, когда я ввожу информацию в форму, почта отправляет неполные электронные письма, например, если я добавляю 1 ко всем полям и имени электронной почты и т. д., он показывает:

От:
Эл.

Так что мне не хватает информации.

 <?php 

   $name = $_POST['f_name'];
   $email = $_POST['email'];
   $tale = $_POST['tale'];
   $sms = $_POST['sms'];
   $data = $_POST['data'];
   $levrandor = $_POST['levrandor'];
   $ekstra = $_POST['ekstra'];
   $formcontent="From: $name \n Email: $email \n Tale: $tale \n Sms: $sms \n Data: $data \n Levrandør: $levrandor \n Ekstra informasjon: $ekstra";
   $recipient = "[email protected]";
   $subject = "Melding fra bruker.";
   $mailheader = "From: $email \r\n";

   mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");

   if(mail){

   header('Location: thanks.html');

   }else{ echo "Email ble ikke sendt";}


    ?>

HTML-форма:

<div class="form_area text-left">
            <form id="contact-form" action="mail.php" method="post">
                <fieldset>
                    <label>Navn:</label>
                    <input type="text" placeholder="">
                    <label>E-mail: (Må fylles inn)</label>
                    <input type="email" placeholder="" required>
                    <label>Forbruk pr mnd (Må fylles inn):</label>
                    <label>Tale:</label>
                    <input type="text" placeholder="" required>
                    <label>Sms:</label>
                    <input type="text" placeholder="" required>
                    <label>Data:</label>
                    <input type="text" placeholder="" required>
                    <label>Levrandør:</label>
                    <input type="text" placeholder="" required>
                    <label>Ekstra informasjon:</label>
                    <textarea rows="3"></textarea><br>
                    <!--<input type="submit" id="submit_button" class="btn" value="Send">-->
                    <button name="submit" type="submit" id="submit_button">Send</button>
              </fieldset>
            </form>
        </div>

person K. André    schedule 24.07.2013    source источник
comment
Итак, вы хотите включить опубликованные данные в электронное письмо?   -  person Gunr Jesra    schedule 25.07.2013
comment
Код PHP выглядит нормально, возможно, ошибка в форме HTML. Можете ли вы опубликовать код для него?   -  person Hein Andre Grønnestad    schedule 25.07.2013


Ответы (1)


Вам необходимо установить свойство имени в полях формы.

Свойство name должно быть таким же, как key, которое вы используете в массиве $_POST. Например, вот так:

<input type="text" name="f_name" placeholder="">

И в PHP

$name = $_POST['f_name'];

Подробнее о массиве $_POST можно прочитать здесь.

person Hein Andre Grønnestad    schedule 24.07.2013
comment
Боже Квелд Форрестен ;) - person Hein Andre Grønnestad; 25.07.2013
comment
Значит, они должны совпадать? Боже квелд ду :) - person K. André; 25.07.2013
comment
Это правильно. Массив $_POST индексируется свойствами name в форме. - person Hein Andre Grønnestad; 25.07.2013
comment
Итак, это сработало на всем, кроме части дополнительной информации внизу. - person K. André; 25.07.2013
comment
И вы установили атрибут name в текстовом поле на ekstra? - person Hein Andre Grønnestad; 25.07.2013
comment
‹label›Extra informasjon:‹/label› ‹textarea rows=3 name=extra›‹/textarea›‹br› ‹!--‹input type=submit id=submit_button class=btn value=Send›--› ‹button name=submit type=submit id=submit_button›Отправить‹/кнопка› - person K. André; 25.07.2013
comment
Выглядит нормально, дважды проверьте, что вы используете $_POST['ekstra'] и $ekstra везде в своем PHP-коде. - person Hein Andre Grønnestad; 25.07.2013
comment
Насколько я вижу, он используется повсеместно. - person K. André; 25.07.2013
comment
Может быть, я неправильно разместил имя att не в той части? - person K. André; 25.07.2013
comment
Вы заставили его работать? Похоже, что атрибут name находится в правильном месте для меня. - person Hein Andre Grønnestad; 25.07.2013
comment
Странно, может быть, вам следует опубликовать еще один вопрос о том, почему текстовое поле не работает с вашим обновленным кодом, возможно, где-то есть небольшая ошибка. Пожалуйста, примите мой ответ, так как он помог вам с проблемой атрибута имени, которая была вашей первоначальной проблемой. - person Hein Andre Grønnestad; 25.07.2013