2017-01-20 14 views
-2

PHPからHTML形式のデータをmysqlに送信しようとしていますが、何らかの理由で自動的に送信する前に送信ボタンをクリックしています。 私はphpとhtmlソースを含めました。私はそれが私に言っていてそこに多くのコードにあると十分ではない細部のxDmysqlへのデータの送信

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

$_POSTが設定されているかどうかを確認するためにif文でそれをラップしてみ投稿することができますので、ここで何かを記述する必要があります。以下のコードでは、私は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

if文の内側の$ POSTのチェック追加:ところで

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

を、mysqli_queryでチェックを行うと、クエリを実行します。

関連する問題