PHP表单提交到sql数据库

时间:2014-02-26 10:26:56

标签: php forms

我目前正在创建一个自定义的“调查”形式,但由于我是php的新手,我不完全确定如何将条目提交到数据库(并且需要设置字段集)。

我目前有3个字段集,让我们称之为谁,何时以及什么。谁是一个简单的选择字段,所以没问题。然而,当一组无线电时,如果选择了无线电,则其中两个具有相关的文本字段需要填充。什么是textarea。

我理解这一点:

  • 表单操作是一个php文件(包含数据库连接和 提交)
  • 表格方法是

使用数据库,如何提交此数据?特别是第二个字段集。

当前表格:

    <form action="heroes.php" method="post">
        <fieldset>
            <h2 class="req">Which Hero?</h2>
            <span class="help">We need to know what hero says what line.</span>
            <label><span class="title">Hero: </span>
                <select>
                    <?php include 'files/hero-select.php'; ?>
                </select>
            </label>
        </fieldset>

        <fieldset id="when">
            <h2 class="req">When?</h2>
            <span class="help">When is it said? Who is it said to?</span>
            <label>To Boss: <input name="when" type="radio" value="boss" /> <input type="text" placeholder="Boss Name" id="bname" size="10" /></label>
            <label>To Hero: <input name="when" type="radio" value="hero" /> <input type="text" placeholder="Hero Name" id="hname" size="10" /></label>
            <label>Low Health: <input name="when" type="radio" value="lowhp" /></label>
            <label>Defeat: <input name="when" type="radio" value="defeat" /></label>
            <label>Boss Defeat: <input name="when" type="radio" value="bossd" /></label>
            <label>Mob Defeat: <input name="when" type="radio" value="mob" /></label>
            <label>Emote: <input name="when" type="radio" value="emote" /></label>
            <label>Item Pickup: <input name="when" type="radio" value="item" /></label>
        </fieldset>

        <fieldset>
            <h2 class="req">Quote</h2>
            <span class="help">What was said.</span>
            <textarea id="quote"></textarea>
        </fieldset>

        <fieldset>
            <input type="submit" value="Submit" /><input type="reset" value="Clear" />
        </fieldset>
    </form>

英雄select.php:                                                                                           黑豹                             

                        <option value="Black Widow">
                            Black Widow
                        </option>

                        <option value="Cable">
                            Cable
                        </option>

                        <option value="Captain America">
                            Captain America
                        </option>

                        <option value="Colossus">
                            Colossus
                        </option>

                        <option value="Cyclops">
                            Cyclops
                        </option>

                        <option value="Daredevil">
                            Daredevil
                        </option>

                        <option value="Deadpool">
                            Deadpool
                        </option>

                        <option value="Emma Frost">
                            Emma Frost
                        </option>

                        <option value="Gambit">
                            Gambit
                        </option>

                        <option value="Ghost Rider">
                            Ghost Rider
                        </option>

                        <option value="Hawkeye">
                            Hawkeye
                        </option>

                        <option value="Hulk">
                            Hulk
                        </option>

                        <option value="Human Torch">
                            Human Torch
                        </option>

                        <option value="Iron Man">
                            Iron Man
                        </option>

                        <option value="Jean Grey">
                            Jean Grey
                        </option>

                        <option value="Loki">
                            Loki
                        </option>

                        <option value="Luke Cage">
                            Luke Cage
                        </option>

                        <option value="Moon Knight">
                            Moon Knight
                        </option>

                        <option value="Ms Marvel">
                            Ms Marvel
                        </option>

                        <option value="Nightcrawler">
                            Nightcrawler
                        </option>

                        <option value="Punisher">
                            Punisher
                        </option>

                        <option value="Rocket Raccoon">
                            Rocket Raccoon
                        </option>

                        <option value="Scarlet Witch">
                            Scarlet Witch
                        </option>

                        <option value="Spider-Man">
                            Spider-Man
                        </option>

                        <option value="Squirrel Girl">
                            Squirrel Girl
                        </option>

                        <option value="Storm">
                            Storm
                        </option>

                        <option value="Thing">
                            Thing
                        </option>

                        <option value="Thor">
                            Thor
                        </option>

                        <option value="Wolverine">
                            Wolverine
                        </option>

2 个答案:

答案 0 :(得分:1)

我将用不同的代码做一个简短的例子(但它的工作方式相同)。

<form method="POST" action="add.php">
    Name: <input type="text" name="name">
    Phone: <input type="text" name="phone">
</form>

method =“POST”表示它将所有信息发布到操作中,操作设置为add.php,因此它将所有信息发布到add.php。

正如您所看到的,上面的每个输入都有不同的名称=“”,name属性的作用是: 它将每个值与一个名称一起发送,这意味着电话输入以Phone =“123456”和名称值Name =“2324234”发送。

add.php代码

<?php
if ($_SERVER['REQUEST_METHOD']) == 'POST') {
  $name = $_POST['name'];
  $phone = $_POST['phone'];

  $sql = 'INSERT INTO user '.
   '(name,phone) '.
   'VALUES ( "$name", "$phone"NOW())';

    mysql_select_db('test_db');
    $retval = mysql_query( $sql, $conn );
 }

首先检查请求是否是帖子,如果是,则将值变为发送到变量,然后将值插入数据库。

答案 1 :(得分:0)

您可以在.post方法中使用jQuery:

https://api.jquery.com/jQuery.post/

$.post("submittodatabase.php", $( "#yourformid" ).serialize() );