2017-01-20 53 views
-2

我試圖從PHP提交數據從一個HTML表單到MySQL,但由於某種原因它會自動提交之前,我甚至點擊提交按鈕。 我已經包含了PHP和HTML源代碼。我要在這裏寫東西,所以我可以發佈,因爲它在告訴我有得多的代碼,沒有足夠細節的xD提交數據到mysql

<?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> 
+0

請使用html格式顯示完整文件 – Bostjan

+0

此外,爲什麼*不會*數據庫邏輯運行,如果您從不檢查表單是否已提交? –

+0

當然也想知道表單看起來像什麼 –

回答

1

嘗試它包裹在一個if聲明,看看是否$_POST已設置。在下面的代碼中,我只測試了id,但是您應該測試所有需要插入數據庫的字段。

<?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); 
} 
?> 
+0

我看不出這個答案如何解決這個問題。大部分值都是'$ server',真的嗎?你一定是在跟我開玩笑。 –

+0

你需要相應地編輯你的答案萌。變量和值的變量不匹配,並且OP用它們(真正)使用的代碼編輯它們的問題。 –

+0

已更新。歡呼聲 – Moe

-1

爲$ POST添加一個檢查,如果語句中:

mysqli_query($link, $sql) && $_POST 

順便說一句,做了檢查與mysqli_query執行查詢。