【问题标题】:Simple email contact form简单的电子邮件联系表格
【发布时间】:2011-04-07 01:18:28
【问题描述】:

我正在将一个简单的电子邮件输入表单实现到启动页面中以供提交。

我知道我需要一个帖子表单,并且按照这个完全实现了 html(我认为):

<div id="main">
    <form method="post" action="">
        <div id="text">
            Please enter your email address here, and we will get back to you
        </div>
        <input type="text" name="q" id="search" />
        <input type="submit" name="submit" id="submit" value="Go!" />
    </form>
</div>

我的css如下:

#main input {
    margin: 30px auto auto 130px ;
    positiom: absolute;
    font-size: 18px;
    background: #fff;
    border: 3px;
    padding: 6px;
    z-index: 3;  
   }
#search {
    float: left;
    width: 550px;
   }
#submit {
    position: relative;
    width: 60px;
    margin: 130px auto auto 200px ;
   }
#submit::-moz-focus-inner { 
    border: 0;
    padding: 0;
}

我有一个安装了 apache、php 等的 Web 服务器,并且正在尝试找出完成表单的下一步。我希望它可以作为一种表单,每次有人输入他们的地址时,都会向特定的 gmail 帐户发送单独的电子邮件。除了网络服务器,我还需要其他工具来完成这项工作吗?我在许多网站上阅读了有关通过其网站的第 3 方表单,但我担心安全性,宁愿让我的网站传输所有数据。非常感谢任何帮助,谢谢!

【问题讨论】:

    标签: php html css form-submit


    【解决方案1】:

    您需要一个 PHP 脚本来处理发送电子邮件。在您的 HTML 中,更改操作:

    <form method="post" action="sendmail.php">
    

    并创建一个 sendmail.php 文件:

    <?php
    
    $email = addcslashes($_REQUEST['q']) ;
    
    mail( "yourname@example.com", "E-Mail entered",
    "E-Mail entered: $email");
    header( "Location: http://www.example.com/thankyou.html" );
    ?>
    

    已编辑:添加了 addclashes()

    【讨论】:

    • 如果你走这条路,你应该,一定要清理你的所有数据!永远不要只对直接从 $_POST / $_GET 等中提取的值进行操作
    • 好吧,我比我想象的更接近了!当你说消毒时,你是什么意思? =p
    • 避免注射。恶意用户可能会添加一些字符作为他/她的电子邮件地址,这可能会引发不良结果。我会使用 addcslashes() 或 urlencode()
    • 好的,太好了!而header方法就是将用户指向后续页面的重定向?
    猜你喜欢
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 2022-07-06
    • 2012-06-07
    • 2013-11-02
    • 2012-12-03
    • 2015-10-11
    • 1970-01-01
    相关资源
    最近更新 更多