我收到一封没有表单信息的电子邮件,为什么?

时间:2015-08-08 12:17:35

标签: php email

如果我提交表单,我只会在邮箱中收到一封电子邮件,但没有任何信息。我怎样才能解决这个问题?

PHP代码:

<?php
$to      = 'julius.kroon@gmail.com';
$subject = 'new costumer';
if(isset($_POST['title'])){ $title = $_POST['title']; }
if(isset($_POST['name'])){ $name = $_POST['name']; }
if(isset($_POST['companyname'])){ $companyname = $_POST['companyname']; }
if(isset($_POST['mail'])){ $mail = $_POST['mail']; }
if(isset($_POST['extrapages'])){ $extrapages = $_POST['extrapages']; }
if(isset($_POST['sow'])){ $sow = $_POST['sow']; }
$title = null;
$name = null;
$companyname = null;
$mail = null;
$extrapages = null;
$sow = null;
$message ="
title = $title
name = $name
companyname = $companyname
mail = $mail
extra pages = $extrapages
site on web = $sow";
$headers = 'From: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>

HTML code:

<form action="" method="POST" enctype="text/plain">
    <em>Last name:</em></br>
    <select name="title" id="title">
        <option>Mr.</option>
        <option>Mrs.</option>
        <option>Dr.</option>
    </select>
    <input type="text" size="25" name="name" id="name" placeholder="Last name"><p /><br>

    <em>company name:</em></br>
    <input type="text" size="25" name="companyname" id="companyname" placeholder="Company Name"><p /><br>

    <em>Email:</em></br>
    <input type="text" size="25" name="mail" id="mail" placeholder="email"><p /><br>

    <em>how many extra pages:</em><br>
    <select name="extrapages" id="extrapages">
        <option>0</option>
        <option>1</option>
        <option>2</option>
        <option>3</option>
        <option>4</option>
        <option>5</option>
        <option>6</option>
        <option>7</option>
        <option>8</option>
        <option>9</option>
    </select><br><br>

    <em>Would you like us to put your site on the internet?</em><br>
    <input type="radio" name="sow" id="sow" value="Yes">Yes
    <input type="radio" name="sow" id="sow" value="No">No<br><br>
    <input type="Submit" value="Send!">
</form>

如果我提交表单,我只会在电子邮件中收到以下文字:

  

title =
  name =
  companyname =
  mail =
  额外的页面=
  网站上的网站=

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

这是你的第一个问题:

enctype="text/plain" 

PHP不支持表单数据的编码,如果以该格式提供数据,则不会填充$_POST。删除它。

你的第二个问题是:

$title = null;
$name = null;
$companyname = null;
$mail = null;
$extrapages = null;
$sow = null;

$_POST收集数据后......你扔掉它。不要那样做。删除这些行。

  

现在我收到错误:未定义的变量。我该如何解决这个错误?

这包括in this question