Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 如何使用多个变量将多字段表单发送到电子邮件?_Forms_Email_Variables - Fatal编程技术网

Forms 如何使用多个变量将多字段表单发送到电子邮件?

Forms 如何使用多个变量将多字段表单发送到电子邮件?,forms,email,variables,Forms,Email,Variables,我花了今天的大部分时间和昨天的所有时间,只是想得到一个简单的、基本的发送到电子邮件的PHP代码。以下是我在本网站和其他网站上阅读的大量其他帖子的基础上,经过广泛的研究、检查和编辑后,我自己尝试整理的代码 <?php $to='dustedpages@gmail.com'; $subject='Commission Inquiry'; $email = $_REQUEST['Email'] ; $headers = "From: $email"; $sent = mail($to

我花了今天的大部分时间和昨天的所有时间,只是想得到一个简单的、基本的发送到电子邮件的PHP代码。以下是我在本网站和其他网站上阅读的大量其他帖子的基础上,经过广泛的研究、检查和编辑后,我自己尝试整理的代码

   <?php 

$to='dustedpages@gmail.com';
$subject='Commission Inquiry';
$email = $_REQUEST['Email'] ; 
$headers = "From: $email";
$sent = mail($to, $subject, $message, $headers) ; 
$message="Name:  ".$name. "\r\n" . "Email:  " .$email . "\r\n" . "Username:  " .$user . "\r\n" . "Type:  ".$position. "\r\n" . "Add-Ons:  ".$addons. "\r\n" . "Price:  ".$price. "\r\n" . "Brief Description:  ".$briefdesc;


$name=$_POST['FirstName'],['LastName'];
$email=$_POST['Email'];
$user=$_POST['User'];

$position=$_POST['position'];
$addons=$_POST['cat'],['dog'];
$price=$_POST['price'];
$desc=$_POST['briefdesc'];



if($sent) 
{print "Your mail was sent successfully. Please be patient and the artist will contact you soon. Thanks!"; }
else 
{print "We encountered an error sending your mail"; }


?> 

实际上,表单数据比基本信息多得多,但我甚至无法显示基本信息。对于从中提取的html代码部分,下面是它的一些外观

<!--NAME-->
        </li>       <li id="li_2" >
        <label class="description" for="element_2">Name </label>
        <span>
        <input onkeypress="return handleEnter(this, event)" id="element_2_1" name="FirstName" class="element text" maxlength="255" size="14" value=""/>
        <label>First</label>
        </span>

        <span>
        <input onkeypress="return handleEnter(this, event)" id="element_2_2" name="LastName" class="element text" maxlength="255" size="18" value=""/>
        <label>Last</label>
        </span>
        <p class="guidelines" id="guide_2"><small>Please fill this in as the name I will see on Paypal.</small></p> 

<!--EMAIL-->

        </li>       <li id="li_1" >
        <label class="description" for="element_1">Email </label>
        <div>
        <input onkeypress="return handleEnter(this, event)" id="element_1" name="Email" class="element text medium" type="text" maxlength="255" value=""/>  
        </div>
        <p class="guidelines" id="guide_1"><small>Your Paypal email</small></p> 



<!--USERNAME-->

        </li>       <li id="li_3" >
        <label class="description" for="element_3">DA/Tumblr Username </label>
        <div>
        <input onkeypress="return handleEnter(this, event)" id="element_3" name="User" class="element text medium" type="text" maxlength="255" value=""/> 
        </div>
        <p class="guidelines" id="guide_3"><small>If you have an account on either Deviantart or Tumblr and wish to be credited in the commission description, please note it here.</small></p> 
        </li>
        <p> 

<!--POSITION TYPE-->

    </li>       <li id="li_26" >
    <label class="description" for="element_26">Comm. Type </label>

    <div>

    <select class="element select medium" id="element_26" name="position"> 

    <option value="" selected="selected"></option>
    <option value="1" >Bust</option>
    <option value="2" >Waist</option>
    <option value="3" >Full-Body</option>

    </select>
    </div>

    <p class="guidelines" id="guide_26">
    <small>Please choose what position you wish for your character(s) to be viewed from. Price will change depending on what type you choose.</small></p> 


<!--ADD ONS-->

    </li>       <li id="li_27" >
    <label class="description" for="element_27" name="addons">Add-Ons </label>

    <span>

    <input name="cat" type="checkbox" onClick="return KeepCount()">
    +1 Character<br>


    <input name="dog" type="checkbox" onClick="return KeepCount()">
    +2 Characters

  • 名称 弗斯特 最后

    请将此填写为我将在Paypal上看到的名称。

  • 电子邮件

    您的贝宝电子邮件

  • DA/Tumblr用户名

    如果您在Deviantart或Tumblr上有账户,并希望在佣金说明中记入贷方,请在此处注明。

  • 通信类型 打破 腰围 全身

    请选择希望从哪个位置查看角色。价格将根据您选择的类型而变化。

  • 附加组件 +1个字符
    +2个字符
  • 我有多个字段(例如名字和姓氏),我需要在电子邮件代码中成为一个变量,并且我需要能够在电子邮件中显示所有填写的表单字段。在这一点上,我甚至不能得到一个以上的变量


    表单本身还包括选择、复选框、文本区域和图像上传。我甚至还没说到这一点——我只是想让一些基本信息马上显示出来。我非常熟悉HTML和Javascript,只是不太熟悉PHP,尽管我以前使用过它。一些表单数据也在与HTML相同的页面上的Javascript代码中使用。实际的PHP数据位于我的表单从中提取的一个单独的文件中。

    我认为发生的情况是,您试图在变量具有您想要的值之前使用它们。试试下面的方法,让我知道它是怎么回事

    <?php
    
    $to = 'dustedpages@gmail.com';
    $subject = 'Commission Inquiry';
    $headers = "From: $email";
    
    $fname = $_POST['FirstName'];
    $lname = $_POST['LastName'];
    $email = $_POST['Email'];
    $user = $_POST['User'];
    $position = "CHANGE-ME";
    $addons = "CHANGE-ME";
    $price = "CHANGE-ME";
    $briefdesc = "CHANGE-ME";
    
    $message = "Name: ".$fname.", ".$lname."\r\n";
    $message .= "Email: $email \r\n";
    $message .= "Username: $user \r\n";
    $message .= "Type: $position \r\n";
    $message .= "Add-Ons: $addons \r\n";
    $message .= "Price: $price \r\n";
    $message .= "Brief Description: $briefdesc \r\n";
    
    $sent = mail($to, $subject, $message, $headers);
    
    if($sent) {
        echo "Success";
    }
    else {
        echo "Failure";
    }
    ?>
    
    
    
    所以您遇到的问题是电子邮件无法发送?如果是这样,您确定您使用的服务器是为电子邮件设置的吗?它显示了一些分析错误,因此我从$name=$\u POST['FirstName'],['LastName']中删除了第二个变量;然后$addons=$_POST['cat'],['dog'];但它只是发送一条名为“佣金查询”的空消息。请在定义$message之后再尝试定义$sent,因为这次实际显示了一些东西!我仍然无法使两个表单字段“FirstName”和“LastName”显示为一个值,而不会给我一个错误。如果我只使用一个变量,它会显示一个变量。此外,我的选择输入(“位置”)只是显示为一个数字,即使它们有唯一的名称。“briefdesc”文本区域输入根本不会显示,而我的“addon”复选框只显示为“on”一词。有什么建议吗?对于名称,您需要连接“first name”变量和“last name”变量。对于您的选择输入,您将获得一个数字,因为这是您的值属性中的数字。您的代码中没有文本区域,因此不会显示该区域。我不知道为什么复选框不会显示,但很可能是因为您没有正确地关闭html标记,它工作得很好,谢谢!现在,如果我想从我的表单中添加更多的变量(我必须这么做),我是否只需要使用“$message.=”variables go here“;在最后一行$message之后?(我也不知道你可以使用超过一个$message行,我很傻)我注意到第一个$message字符串后面的行在等号之前有一个点。我只需要分配各个值并将它们串在一起,但你的建议非常有效。