0

我正在开发一个 jquery 移动应用程序。现在我希望用户能够发送清单。所以我做了一个清单,现在我必须把它发送到一个电子邮件地址。有人可以告诉我该怎么做吗?我知道应该用 PHP 来完成,但我的 PHP 技能不是那么好。我知道如何制作和发送联系表格,但在联系表格中没有需要填写和发送的复选框。

这是我的 HTML 页面中的代码:

<form id="form1" method="post" action="checklist.php">
<fieldset class="ui-corner-all" >

<div class="ui-checkbox">
<input id="checkbox-t0" class="custom" type="checkbox" name="checkbox-t0">

<label for="checkbox-t0">
<span class="ui-btn-inner ui-corner-top">
<span class="ui-btn-text">Vehicle checked for damage</span>
</span>
</label>
</div>

<div class="ui-checkbox">
<input id="checkbox-t1b" class="custom" type="checkbox" name="checkbox-t1b">
<label for="checkbox-t1b">
<span class="ui-btn-inner">
<span class="ui-btn-text">Oil checked</span>
</span>
</label>
</div>

<div class="ui-input-text">
<label for="achternaam" data-theme="a">
<span class="ui-btn-inner">
<span class="textbox"> Last name: </span></span>
</label>
<input type="text" name="achternaam">
</div>
</fieldset>

<fieldset>
<div class="ui-block-a"><button type="submit" name="submit"  data-theme="a" >Send</button></div>
</fieldset></form>

还有更多的复选框,但这里没有必要显示一百个复选框。

那么如何让表单提交到某个电子邮件地址呢?任何帮助都会很棒,谢谢!

我是荷兰人,所以有些词是用荷兰语写的。

4

1 回答 1

0

就像您通常对联系表格所做的那样,复选框只是另一种输入类型,唯一的区别是,如果未选中,则不会在 POST 中发送任何值,如果没有为复选框设置值属性,则它将默认为打开。

检查 POST 中是否不存在该值(例如未检查)的最简单方法是构建一个包含所有输入的数组,然后循环遍历该数组,检查每个输入是否存在于 POST 数组中,如果没有相应处理,这也将消除不想处理的不需要的 POST 值。

<?php 
//Check for POST
if($_SERVER['REQUEST_METHOD']=='POST'){
    //All your inputs
    $expecting = array('achternaam','checkbox-t0','checkbox-t1b');
    //Start building your email
    $email_content = '';
    foreach($expecting as $input){
        //Is checkbox?
        if(substr($input,0,8)=='checkbox'){
            $email_content .= ucfirst($input).':'.(isset($_POST[$input]) && $_POST[$input] == 'on' ? 'True' : 'False'.'<br />');

        //achternaam and other non  checkbox-* keys
        }else{
            $email_content .= ucfirst($input).':'.(!empty($_POST[$input]) ? $_POST[$input] : 'Unknown').'<br />';
        }
    }

    /* Achternaam:Lawrence<br />Checkbox-t0:False<br />Checkbox-t1b:False<br /> */
    print_r($email_content);

    /* Mail it
    if(mail('the_email_to_send_too@example.com', 'My Subject', wordwrap($email_content))){
       //mail sent
    }else{
       //mail failed 2 send
    }
    */
}
?>
于 2012-11-01T13:50:09.127 回答