【问题标题】:A form that spits out the input吐出输入的表单
【发布时间】:2010-09-18 16:01:23
【问题描述】:

我这辈子都找不到不通过电子邮件发送您提交的结果的表单。

我正在寻找一种表格,我可以让用户输入简单的数据,然后我可以以不同的方式向他们吐出。如果他们提交 First 和 Last,我会吐出 FirstLast@domain.com 等内容。我愿意手动搜索代码来执行此操作,但我找不到一个简单的表单可以让我执行此操作。

编辑: PHP 或类似的简单语言。我以前从未接触过 .NET。

【问题讨论】:

  • 如果您指定一种编码语言(并为其添加标签)将会很有帮助。
  • 我不明白为什么这个问题是两个赞成票?我无法完全理解它......互联网上充满的表格不会通过电子邮件发送结果 - 你指的是什么?

标签: php javascript forms templates


【解决方案1】:

您使用什么语言/平台/环境?

我猜您可能正在寻找托管脚本或网络表单(我想人们将托管网络到邮件脚本的方式),但我怀疑是否会有这样的。

但是如果你有一个特定的框架可以工作,例如PHP 或 .net,请更新问题并告诉我们哪个。

【讨论】:

  • (坐在 ylight 旁边)- 基本的 LAMP/PHP
【解决方案2】:

简单的东西甚至不需要服务器端支持。

<form onsubmit="magic(this);return false">
    <p><label>First <input name=first/></label>
    <p><label>Last <input name=last/></label>
    <input type="submit">

    <div id="output"></div>
</form>   

<script type="text/javascript">
    var output = document.getElementById('output');
    function toHTML(text)
    {
        return text.replace(/</g,'&lt;');
    }

    function magic(form)
    {
        output.innerHTML = toHTML(form.first.value + form.last.value) + '@domain.com';
    }
</script>

【讨论】:

    【解决方案3】:

    表格:

    <form action="process.php" method="post">
        First: <input type="text" name="first" />
        Last: <input type="text" name="last" />
        <input type="submit" />
    </form>
    

    下一页:

    <?php
    
    $first = $_POST['first'];
    $last =  $_POST['last']
    
    echo $first . "." . $last . "@domain.com";
    ?>
    

    更多示例和解释请参见http://www.w3schools.com/php/php_forms.asp

    【讨论】:

    • 您应该在向浏览器吐回任何用户输入时调用 htmlentities() 或 htmlspecialchars() 以防止 xss 攻击
    • 完全同意你的观点。只是试图使答案尽可能简单和最小。
    • 当您使用它时... 查找电子邮件地址中的无效字符。无论如何:要求邮件地址的表单字段会不会更简单,还是我仍然没有抓住重点?
    • 如果您同意,那么请不要给出不好的建议,并纠正示例以正确转义。
    【解决方案4】:

    无论您如何获得它,始终记住永远不要相信用户输入

    <?php
    
    $sfirst = htmlentities($_POST['first']);
    $slast =  htmlentities($_POST['last']);
    
    echo $first . "." . $last . "@domain.com";
    ?>
    

    此外,对最终结果运行验证器可能会有所帮助。但请不要编写自己的电子邮件地址验证器。

    【讨论】:

    • @orlandu63:严格来说,两者都应该应用。首先 rawurlencode() 将 text 转换为 text-in-URL,然后 htmlspecialchars() 将 URL 转换为 URL-in-HTML。在实践中,第一次转义使第二次不必要,但这并不意味着不应该使用 htmlspecialchars()。
    【解决方案5】:

    如果我的问题正确,听起来这可能会满足您的需求..

    注意: 此 PHP 代码不需要任何有关提交给它的表单中的字段的知识,它只是循环遍历所有字段,包括多选字段(如复选框) ,并吐出它们的值。

    <?php
    // loop through every form field
    while( list( $field, $value ) = each( $_POST )) {
       // display values
       if( is_array( $value )) {
          // if checkbox (or other multiple value fields)
          while( list( $arrayField, $arrayValue ) = each( $value ) {
             echo "<p>" . $arrayValue . "</p>\n";
          }
       } else {
          echo "<p>" . $value . "</p>\n";
       }
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 2014-11-08
      • 2017-04-05
      • 2013-12-13
      • 1970-01-01
      • 2013-11-02
      • 1970-01-01
      • 2017-01-14
      • 2015-07-26
      • 2018-07-01
      相关资源
      最近更新 更多