2015-12-11 71 views
0

嘿,我正試圖讓這段代碼在過去幾天運行。我不知道是什麼問題。每當我運行代碼時,我都可以看到它正在運行,但插入了一個空行。基本上我已經試圖對數據進行硬編碼並插入數據。下面是HTML表單:在數據庫中插入一行空行

     <form action="register.php" id="contactForm" type="post"> 
          <div class="row"> 
           <div class="form-group"> 
            <div class="col-md-6"> 
             <label>First name *</label> 
             <input type="text" class="form-control" name="fname" > 
            </div> 
            <div class="col-md-6"> 
             <label>Last name *</label> 
             <input type="text" class="form-control" name="lname" > 
            </div> 
           </div> 
          </div> 
          <div class="row"> 
           <div class="form-group"> 
            <div class="col-md-6"> 
             <label>Gender *</label><br> 
             <select name="gender"> 
              <option> Male </option> 
              <option> Female </option> 
             </select> 

            </div> 

            <div class="col-md-6"> 
             <label>Stream *</label><br> 
             <select name="stream"> 
              <option> B-Tech </option> 
              <option> M-Tech </option> 
             </select> 

            </div> 
           </div> 
          </div> 
          <div class="row"> 
           <div class="form-group"> 
            <div class="col-md-6"> 
             <label>Email *</label> 
             <input type="text" class="form-control" name="email" > 
            </div> 
            <div class="col-md-6"> 
             <label>Mobile *</label> 
             <input type="text" class="form-control" name="mobile"> 
            </div> 
           </div> 
          </div> 
          <div class="row"> 
           <div class="form-group"> 
            <div class="col-md-6"> 
             <label>College *</label> 
             <input type="text" class="form-control" name="college" > 
            </div> 
            <div class="col-md-6"> 
             <label>Job Kind *</label> 
             <input type="text" class="form-control" name="job" > 
            </div> 

           </div> 
          </div> 
          <div class="row"> 
           <div class="col-md-12"> 
            &nbsp&nbsp&nbsp&nbsp 

            <input type="submit" value="Register" class="btn btn-primary btn-lg" 
            data-loading-text="Loading..." name="submit"> 

           </div> 
          </div> 
         </form> 

這裏是爲registration.php

<?php 
$connection = mysql_connect("EDITED by billy, was an I.P and port number", "user", "password"); // Establishing Connection with Server 
$db = mysql_select_db("Registrations_connect", $connection); // Selecting Database from Server 

      $first_name = $_POST["fname"]; 
      $last_name = $_POST["lname"]; 
      $sex = $_POST["gender"]; 
      $field = $_POST["stream"]; 
      $contact = $_POST["mobile"]; 
      $eaddress = $_POST["email"]; 
      $institute = $_POST["college"]; 
      $naukri = $_POST["job"]; 

      $query = mysql_query("insert into students(fname, lname, gender, stream, mobile, email, college, job) 
      values ('$name', '$last_name', '$sex', '$field','$contact', '$eaddress', '$intitute', '$naukri')"); 

      echo "<br/><br/><span>Data Inserted successfully...!!</span>"; 


mysql_close($connection); // Closing Connection with Server 
?> 

運行後;在檢查元素中,我檢查了響應: - 它顯示成功插入數據,但實際上插入了一個空行。基本上我認爲我無法從窗體中正確獲取數據。有人可以請檢查是什麼問題。這將是一個很大的幫助。

+0

當你'的var_dump($ _ POST)' – Terminus

+0

所有方法的第一個是不安全的,看看PHP的PDO,第二,當你說辛苦,會發生什麼編碼數據我假設你的意思是在registration.php而不是$ _POST變量,這是正確的嗎? – Billy

+0

您錯過了值的第一個值('$ >>>>> HERE <<<<<< name','$ last_name'' – Billy

回答

1

屬性是method,而不是type。此錯字導致您的表單處理GET而不是POST。所以你所有的變量分配都是錯誤的。

$first_name = $_POST["fname"]; 

$first_name = $_GET["fname"]; 

,或者您可以使用$_REQUEST;或者你可以糾正屬性,

<form action="register.php" id="contactForm" method="post"> 

你的代碼也就是SQL注入敞開的,並使用過時mysql_功能。您應更新到mysqlipdo並使用帶有參數化查詢的預準備語句。

更多關於SQL注入:
http://php.net/manual/en/security.database.sql-injection.php
How can I prevent SQL injection in PHP?
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#Defense_Option_1:_Prepared_Statements_.28Parameterized_Queries.29