提交表单的方式 - php和HTML

时间:2013-04-12 11:55:29

标签: php html wordpress forms

我在挣扎,我不知道还有什么地方可以转。我有一个客户在他们的网站上销售,但是,我正在重写代码,我需要一个向他们发送查询的联系表单。目前它都是在Wordpress中设置的。

但是,表单将允许客户发送一个订单的简单信息。所以数量,颜色,描述字段的形式(联系表格7插件)

我想要的是让他们多次为不同的产品输入该信息。所以顾客输入5件蓝色睡衣+ 10件绿色袜子。但他们可能有很多订单,我们无法知道多少订单。我需要的是一个不太难的界面想法,因为这是一个丢弃的形式,直到电子商务正确设置。如果我不清楚,请告诉我。

2 个答案:

答案 0 :(得分:2)

我没有验证代码,但这是一个概念。

<head>
<script type="text/javascript">
    var ordernum = 1;
    function Add_to_Order() {
        /* Adding another order to the form */
        ordernum++;
        var order_str = '<p><label for="order' + ordernum + '_id">Quantity: </label><input id="order' + ordernum + '_id" name="order' + ordernum + '_qty" type="text" size="6" /><input name="order' + ordernum + '_color" type="text" /><input name="order' + ordernum + '_desc" type="text" /></p>';  
        $('#orders').append(order_str);

        /* Replaces the value of qty so that you know how many orders to track */
        $('input[name=qty]').val(function(index, value) {
           return value.replace(ordernum);
        });
    }
    jQuery(document).ready(function($){
        /* When add order button is pressed it will add additional fields to the id=orders */
        $('#add_order').click(Add_to_Order);
    });
</script>
</head>
<body>
    <form id="contactForm" method="POST" action="">
        <label for="name_id">Name: </label>
        <input id="name_id" name="name" type="text" />
        <fieldset id="orders">
            <p>
                <label for="order1_id">Quantity: </label>
                <input id="order1_id" name="order1_qty" type="text" size="6" />
                <input name="order1_color" type="text" />
                <input name="order1_desc" type="text" />
            </p>
        </fieldset>
        <input id="add_order" type="button" value="Add Another Item" />
        <input id="qty" name="qty" type="hidden" value="1" />
        <hr />
        <input id="submit" name="submit" type="submit" value="Send" />      
    </form>
</body>

在此之后,您可以验证表单,并在提交后,您可以根据您拥有的数量订单发送信息。我还会添加一些安全措施,但这只是一个可以使用的概念。

答案 1 :(得分:1)

实际上,您想要的PHP邮件表格并不容易,但我一直在努力提供帮助,即使您没有绘制您想要的表单,甚至也不是主题。现在,例如我们有一个名为 form.php 的PHP文件,这是PHP脚本:

<?php
$q = addslashes($_GET["q"]);

if (empty($q)) {
    echo '<form action="form.php" method="get">
    How many do you want to order: <input type="text" name="q">
    <input type="submit">
    </form>';
}

if ($q > 0) {
    if (isset($_REQUEST['from'])) {
        $from = $_REQUEST['from'] ;

        // place your email here
        $to = "mail@example.com";

        $subject = "Customer: " . $_REQUEST['name'];

        $i = 1;
        while ($i <= $q) {
            $message .= "Order $i\n";
            $message .= "Quality: " . $_REQUEST['quality' . $i] . "\n";
            $message .= "Color: " . $_REQUEST['color' . $i] . "\n";
            $message .= "Description: " . $_REQUEST['description' . $i] . "\n\n";
            $i++;
        }

        $message .= "Note: " . $_REQUEST['note'];
        mail($to, $subject, $message, "From:" . $from);
        echo "Thank you for submitting your order!";
    } else {
        echo "<form method='post'>
        Email: <input name='from' type='text'><br />
        Full Name: <input name='name' type='text'><br />";

        $i = 1;
        while ($i <= $q) {
            echo "Order $i<br />
            Quality: <input name='quality" . $i . "' type='text'><br />
            Color: <input name='color" . $i . "' type='text'><br />
            Description: <input name='description" . $i . "' type='text'><br />";
            $i++;
        }

        echo "Additional Note:<br />
        <textarea name='note' rows='15' cols='40'></textarea><br />
        <input type='submit'>
        </form>";
    }
}
?>

该邮件表单经过测试并正常工作。只需完成其余工作即可进行改进和设计。