首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php邮件表单不发送邮件

php邮件表单不发送邮件
EN

Stack Overflow用户
提问于 2014-02-28 11:20:36
回答 2查看 116关注 0票数 3

我似乎对我正在制作的电子邮件表格有问题。

表单工作正常,直到我给它添加了一些额外的部分。然而,即使我评论我的更改,它也不会起作用。

我认为问题可能是由于一些语法错误,但似乎并非如此。

我没有收到任何错误消息。

下面是我的代码:

代码语言:javascript
复制
<?php
if(isset($_REQUEST['email'])) {
    $num=$_REQUEST['num'];
    $desc=$_REQUEST['desc'];
    $subject="einak";
    $nomr=$_REQUEST['nomr'];
    $sphr=$_REQUEST['sphr'];
    $cylr=$_REQUEST['cylr'];
    $angr=$_REQUEST['angr'];
    $addr=$_REQUEST['addr'];
    $diar=$_REQUEST['diar'];
    $noml=$_REQUEST['noml'];
    $sphl=$_REQUEST['sphl'];
    $cyll=$_REQUEST['cyll'];
    $angl=$_REQUEST['angl'];
    $addl=$_REQUEST['addl'];
    $dial=$_REQUEST['dial'];
    $type=$_REQUEST['type'];
    $matter=$_REQUEST['matter'];
    $color=$_REQUEST['color'];
    $message=$num."<br />".$nomr."<br/>".$sphr."<br/>".$cylr."<br/>".$angr."<br />".$addr."<br />".$diar."<br />"."<br />".$noml."<br/>".$sphl."<br/>".$cyll."<br/>".$angl."<br />".$addl."<br />".$dial."<br />".$desc."<br />".$type."<br />".$matter."<br />".$color."<br />";
    $email='info@toosoptic.ir';
    $headers='MIME-Version: 1.0'."\r\n";
    $headers.='Content-type: text/html; charset=iso-8859-1'."\r\n";
    mail("mail@example.com",$subject,$message,$headers);
    echo "ارسال شما موفقیت آمیز بود";
} else {
    echo "<form method='post'>
                <input name='num' id='num' type='text' /> <br />
                <input type='text' name='nomr' id='nomr' > <br />
                <input type='text' name='sphr' id='sphr'> <br />
                <input type='text' name='cylr' id='cylr'  > <br />
                <input type='text' name='angr' id='angr'  > <br />
                <input type='text' name='addr' id='addr'  > <br />
                <input type='text' name='diar' id='diar' > <br />
                <input type='text' name='noml' id='noml' > <br />
                <input type='text' name='sphl' id='sphl'> <br />
                <input type='text' name='cyll' id='cyll'  > <br />
                <input type='text' name='angl' id='angl'  > <br />
                <input type='text' name='addl' id='addl'  > <br />
                <input type='text' name='dial' id='dial' > <br /> 
                <textarea id='desc' name='desc'> </textarea>          
                <input name='type' type='radio' value='bifocal' id='type1' />
                <input name='type' type='radio' value='progres' id='type2' />
                <input name='type' type='radio' value='single' id='type3' />
                <input name='type' type='radio' value='decen' id='type4' />
                <input name='matter' type='radio' value='glass' id='mat1' />
                <input name='matter' type='radio' value='plastic' id='mat2' />
                <input name='color' type='radio' value='single' id='col1' />
                <input name='color' type='radio' value='decen' id='col2' /> 
                <input type='submit' id='sb' value='ارسال اطلاعات' />
                <input type='text' name='name' id='name'  > <br />
                <input type='add' name='address' id='address'  > <br /> 
            </form >
            <p id='confirmation'></p>
            <input  type='submit'  id='vis' onClick='vis(); return false;'  value='تایید اطلاعات'/>";
}
?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-28 11:26:13

您还没有在submit按钮中定义名称:

代码语言:javascript
复制
 <input type='submit' id='sb' value='ارسال اطلاعات' />

将上述代码替换为以下代码:

代码语言:javascript
复制
 <input type='submit' id='sb' name='email' value='ارسال اطلاعات' />

您正在检查代码if(isset($_REQUEST['email'])),没有电子邮件字段,如我所见的表单。

基本上,此检查用于验证表单是否已提交(与一般其他方法一样)。因此,您需要在submit按钮属性中添加name='email'以执行if条件代码。

票数 9
EN

Stack Overflow用户

发布于 2014-02-28 11:25:58

您正在设置mime头,但没有设置任何mime编码,这可能是一个问题;-)尝试使用专用包,如梨/邮件 (和梨/邮件/咪咪)或phpMailer

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22093739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档