表格提交但我不知道如何或为什么?

时间:2011-07-14 09:39:44

标签: php html forms

我制作了一个普通的HTML表单,在提交时,将信息发送到另一个页面,该页面处理数据并将其添加到数据库中。但由于某种原因,如果我刷新包含表单的第一页,即使我看不到任何理由,也会在数据库中创建一个条目。

这是表格的代码:

<?php $owner = $_GET['user']; ?>

    <h2 class="dotted"><?php _e('Add feedback for user','appthemes'); echo " - ".$owner;?></h2>

        <form id='feedback' action='http://www.example.co.uk/add-feedback-response/?user=<?php echo $owner; ?>' method='POST' accept-charset='UTF-8'>
        <fieldset >

        <b>Your Username:</b> <?php echo $current_user->user_login; ?><br/><br/>

        <b>Rating: </b>
        <input type="radio" name="rating" value="positive" /> Positive
        <input type="radio" name="rating" value="neutral" /> Neutral
        <input type="radio" name="rating" value="negative" /> Negative<br/><br/>

        <label for='item' ><b>Item bought:</b></label>
        <input type="text" name='item' id='item' maxlength="500"/><br/><br/>

        <label for='comment' ><b>Comment:</b></label>
        <textarea name='comment' id='comment' maxlength="2500"></textarea><br/><br/>

        <input type="submit" id="submit-button" value="Submit Feedback" />

        </fieldset>
        </form>

有什么我想念的吗?谢谢你的帮助

2 个答案:

答案 0 :(得分:1)

可能是因为您尝试再次提交表单。浏览器是否提醒您再次发送数据?

限制此操作,请使用

header("Location: ".$_SERVER['HTTP_REFERER']);

处理表格

答案 1 :(得分:0)

如果您在提交一次表单后刷新表单,则表单将再次提交。 (浏览器会警告你,“你确定要再次提交页面吗?” - 不是吗?)刷新实际上是“重复上一次请求”。

如果您认为在您的网络应用中可以使用这种方案,则必须处理重复的请求。