duanchuaiwan0063 2017-01-20 14:02
浏览 52
已采纳

提交数据到mysql [重复]

I'm trying to submit data from php from a html form to mysql but for some reason it's automatically submitting before i even click the submit button. I've included the php and html source. i have to write something here so i can post as it's telling me there is to much code and not enough details xD

 <?php

    $link = mysqli_connect("localhost", "db", "pass", "table");


    if($link === false){
        die("ERROR: Could not connect. " . mysqli_connect_error());
    }


$id = mysqli_real_escape_string($link, $_POST['id']);
$game = mysqli_real_escape_string($link, $_POST['game']);
$server = mysqli_real_escape_string($link, $_POST['server']);
$datetimepicker1 = mysqli_real_escape_string($link, $_POST['datetimepicker1']);
$et = mysqli_real_escape_string($link, $_POST['et']);
$sc = mysqli_real_escape_string($link, $_POST['sc']);
$ss = mysqli_real_escape_string($link, $_POST['ss']);
$ec = mysqli_real_escape_string($link, $_POST['ec']);
$es = mysqli_real_escape_string($link, $_POST['es']);
$dn = mysqli_real_escape_string($link, $_POST['dn']);


    $sql = "INSERT INTO events (id, game, server, datetimepicker1, et, sc, ss, ec, es, dn) VALUES ('$id', '$game', '$server', '$datetimepicker1', '$et', '$sc', '$ss', '$ec', '$es', '$dn')";
    if(mysqli_query($link, $sql)){
        echo "Records added successfully.";
    } else{
        echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
    }


    mysqli_close($link);
    ?>

     <div class="form-group">
                <label class="col-md-4 control-label" for="game">Game</label>
                <div class="col-md-4">
                    <select id="game" name="game" class="form-control">
                        <option value="ets2mp">ETS2MP</option>
                        <option value="atsmp">ATS2MP</option>

                    </select>
                </div>
            </div>

             <div class="form-group">
                <label class="col-md-4 control-label" for="server">Server</label>
                <div class="col-md-4">
                    <select id="server" name="server" class="form-control">
                        <option value="12">Hong Kong #1</option>
                    </select>
                </div>
            </div>


            <div class="form-group">
                <label class="col-md-4 control-label" for="datetimepicker1">Date & Time</label>
                <div class="col-md-4">
                <div class='input-group date' id='datetimepicker1'>
                        <input type='text' class="form-control" required="" />
                        <span class="input-group-addon">
                            <span class="glyphicon glyphicon-calendar"></span>
                        </span>
                </div>
            </div>
         </div> 

            <div class="form-group">
                <label class="col-md-4 control-label" for="et">Event Type</label>
                <div class="col-md-4">
                    <select id="et" name="et" class="form-control">
                    <option value="1">Convoy</option>
                    </select>
                </div>
            </div>


                    <!-- Select Basic -->
            <div class="form-group">
                <label class="col-md-4 control-label" for="sc">Start City</label>
                <div class="col-md-4">
                    <select id="sc" name="sc" class="form-control">
    <option value="12">Aalborg</option>
    <option value="96">Aberdeen</option>
    <option value="99">Wilnet Transport</option>
                    </select>
                </div>
            </div>

            <div class="form-group">
                <label class="col-md-4 control-label" for="ec">End City</label>
                <div class="col-md-4">
                    <select id="ec" name="ec" class="form-control">
    <option value="12">Aalborg</option>
    <option value="95">Zürich</option>
                    </select>
                </div>
            </div>

            <div class="form-group">
                <label class="col-md-4 control-label" for="es">End Site</label>
                <div class="col-md-4">
                    <select id="es" name="endsite" class="form-control">
    <option value="76">Service Station</option>
    <option value="99">Wilnet Transport</option>
                    </select>
                </div>
            </div>

        <div style="width:29%; margin: 20px auto 0 auto;">
        <div class="form-group">
        <label for="dn">Description</label>
        <textarea class="form-control" id="dn" rows="3"></textarea>
      </div>
      </div>



            <!-- Button (Double) -->
            <div class="form-group">
                <label class="col-md-4 control-label" for="submitButton"></label>
                <div class="col-md-8">
                    <input type="submit" value="Submit">
                    <button id="cancelButton" name="cancelButton" class="btn btn-danger">Cancel</button>
                </div>
            </div>

        </fieldset>
    </form>
</div>
  • 写回答

2条回答 默认 最新

  • download2565 2017-01-20 14:04
    关注

    Try wrapping it in a if statement to see if $_POST has been set. In the below code, I'm only testing for id, but you should test for all the fields that you need to insert into your Database.

    <?php
    
    if(isset($_POST['id'])) { //Check to see if $_POST has been set
    
       $link = mysqli_connect("localhost", "db", "pass", "table");
    
    
       if($link === false){
           die("ERROR: Could not connect. " . mysqli_connect_error());
       }
    
    
    $id = mysqli_real_escape_string($link, $_POST['id']);
    $game = mysqli_real_escape_string($link, $_POST['game']);
    $server = mysqli_real_escape_string($link, $_POST['server']);
    
    //You need to fix your variable's below:
    $datetimepicker1 = mysqli_real_escape_string($link, $_POST['datetimepicker1']);
    $et = mysqli_real_escape_string($link, $_POST['et']);
    $sc = mysqli_real_escape_string($link, $_POST['sc']);
    $ss = mysqli_real_escape_string($link, $_POST['ss']);
    $ec = mysqli_real_escape_string($link, $_POST['ec']);
    $es = mysqli_real_escape_string($link, $_POST['es']);
    $dn = mysqli_real_escape_string($link, $_POST['dn']);
    
    
    $sql = "INSERT INTO events (id, game, server, datetimepicker1, et, sc, ss, ec, es, dn) VALUES ('$id', '$game', '$server', '$datetimepicker1', '$et', '$sc', '$ss', '$ec', '$es', '$dn')";
    if(mysqli_query($link, $sql)){
        echo "Records added successfully.";
    } else{
        echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
    }
    
    
    mysqli_close($link);
    }
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染