如何在php pdo中刷新页面后停止插入

时间:2017-01-25 10:07:50

标签: php

当我刷新页面自动提交。页面刷新时如何停止插入数据?我想要点击添加按钮插入数据,而不重定向另一页。 请帮助我。我想来页面显示节目数据。

<?php
        try{
        $host='localhost';
        $name='pdo';
        $user='root';
        $pass='';
        $dbc = new PDO("mysql:host=$host;dbname=$name",$user,$pass);
        }
        catch(PDOException $e)
        {
        echo $e->getMessage();
        }
        //---------------------------------------------------------------------
        if (isset($_POST['add']))
        {
        $stmt = $dbc->prepare("insert into user (frist,last,web) values (:frist,:last,:web)");

        $stmt->bindParam(':frist',$_POST['frist']);
        $stmt->bindParam(':last',$_POST['last']);
        $stmt->bindParam(':web',$_POST['web']);

        $stmt->execute();
         }
        ?>
        <!DOCTYPE html>
        <html>
        <head>
        <title> the digital craft - PDO</title>
        </head>
        <body>
        <header>
        <h1>Mysql PDO</h1>
        </header>

        <div>
        <form method="post">
         <input name="frist" placeholder="frist name">
         <input name="last" placeholder="last name">
         <input name="web" placeholder="web site">
         <button name="add" type="submit">Add</button>
        </form>
        </div>
        <hr>
        <table>
         <thead>
           <tr>
           <th>ID</th>
           <th>Frist Name</th>
           <th>Last Name</th>
           <th>Website</th>
           <th>Save</th>
           </tr>
         </thead>

         <tbody>
         <?php 
         $stmt=$dbc->query("SELECT * FROM user");
         $stmt->setFetchMode(PDO::FETCH_ASSOC);
         while($data=$stmt->fetch()){
        ?>
         enter code here<tr>
           <td><input name="id" value="<?=$data['id']?>"></td>
           <td><input name="frist" value="<?=$data['frist']?>"></td>
           <td><input name="last" value="<?=$data['last']?>"></td>
           <td><input name="web" value="<?=$data['web']?>"></td>
           <td><button name="save" type="submit">save</button></td>
          </tr>
          <?php } ?>
         </tbody>
        </table>
        </body>
        </html>

2 个答案:

答案 0 :(得分:0)

您可以在提交逻辑运行后将用户重定向到其他/同一页面。之后,刷新不应再次提交表单。

答案 1 :(得分:0)

Siim说的一点点补充: 您可以在header("Location: name_of_file.php");

之后使用$stmt->execute();执行此操作