2013-05-26 247 views
1

我正在製作一個頁面,您可以將自己註冊到我們的數據庫中,以便以後可以使用這些信息登錄到網站並訪問信息。 這是我這部分代碼:php註冊,將無法正常工作。

<?php 
     if (isset($_POST['inputFirst']) && isset($_POST['inputLast']) && isset($_POST['inputUsername']) && isset($_POST['inputPassword'])) { 
      print "<p>you have registered sucessfully</p>"; 
      $fname = $_POST['inputFirst']; 
      $lname = $_POST['inputLast']; 
      $email = $_POST['inputemail']; 
      $username = $_POST['inputUsername']; 
      $password = $_POST['inputPassword']; 
      $tele = "0811111222"; 
      $add ="testing"; 
      $loc = "location"; 

      include 'opendb.php'; 
      $sql = "insert into Home_User (Fiest_Name,Last_Name,User_ID,Password,Email,Tel,Address,Island,Location) values ('$_POST[inputFirst]','$_POST[inputLast]','$_POST[inputUsername]','$_POST[inputPassword]','$_POST[inputemail]')"; 
      $result = mysql_query($sql,$conn) or die(mysql_error()); 
      print "<p>you have registered sucessfully</p>"; 
      print "<a href='index.php'>go to login page</a>"; 
     }   

     else print '<form class="form-horizontal" action="registration.php" method=post> 
      <h1> not registered yet</h1> 
      <h2>welcome to the registration page</h2> 
      please fill in the registration details to create an account. <br/><br/> 
      <div class="heading"> 
       <h4 class="form-heading">Home user registration</h4> 
      </div> 
         <div class="control-group"> 
         <label class="control-label" for="inputFirst">First Name</label> 
         <div class="controls"> 
          <input type="text" id="inputFirst" placeholder="E.g. Ashwin"> 
         </div> 
        </div> 
        <div class="control-group"> 
         <label class="control-label" for="inputLast">Last Name</label> 
         <div class="controls"> 
          <input type="text" id="inputLast" placeholder="E.g. Hegde"> 
         </div> 
        </div> 
        <div class="control-group"> 
         <label class="control-label" for="inputemail">Email</label> 
         <div class="controls"> 
          <input type="text" id="inputemail" placeholder="E.g. [email protected]"> 
         </div> 
        </div> 
        <div class="control-group"> 
         <label class="control-label" for="inputUsername">Username</label> 
         <div class="controls"> 
          <input type="text" id="inputUsername" placeholder="E.g. ashwinhegde"> 
         </div> 
        </div> 
        <div class="control-group"> 
         <label class="control-label" for="inputPassword">Password</label> 
         <div class="controls"> 
          <input type="password" id="inputPassword" placeholder="Min. 8 Characters"> 
         </div> 
        </div> 

        <div class="control-group"> 
         <label class="control-label" for="inputTell">Telephone</label> 
         <div class="controls"> 
          <input type="text" id="inputTell" class="bfh-phone" data-format="(ddd) ddd-dddd"> 
         </div> 
        </div> 

        <div class="control-group"> 
         <div class="controls"> 
          <label class="checkbox"> 
           <input type="checkbox"> I agree all your <a href="#">Terms of Services</a> 
          </label> 
          <button type="submit" class="btn btn-success">Sign Up</button> 
          <button type="button" class="btn">Help</button> 
         </div> 
        </div> 
     </form>'; 
     ?> 

$遠程,$添加,$ 10C是在DB那裏的形式,我不和他們一起工作尚未其它值。

當我按註冊它沒有做任何事情

剛剛刷新頁面,並沒有給我這樣的:

你已經成功註冊。

我不確定發生了什麼問題,連接到數據庫還是什麼。請幫忙。

+0

'Fiest_Name'在'INSERT'聲明看起來很可疑,我... –

+0

你應該擔心MySQL的注入,因爲你的代碼充滿了漏洞 – samayo

+0

但是這聽起來像你還沒有打開錯誤報告,這對於開發是必不可少的。 '的error_reporting(E_ALL); ini_set('display_errors',1);' –

回答

2

您的代碼易受SQL注入攻擊。你應該嘗試使用mysql_real_escape_string所有POST和GET請求,比如

$email = mysql_real_escape_string($_POST['inputemail']); 

和你缺少你輸入文字name屬性;它應該是

<input type="text" id="inputFirst" name="inputFirst" placeholder="E.g. Ashwin"> 

你並不需要打印

print "<p>you have registered sucessfully</p>"; //don't need before the insertion 

你應該先檢查是否插入爲SUCESSFUL或沒有,那麼你應該打印出來。

$result = mysql_query($sql, $conn); 

if($result) { 
    print "<p>you have registered sucessfully</p>"; 
    print "<a href='index.php'>go to login page</a>"; 
} else { 
    die(mysql_error()); 
} 
3

指定的名稱爲您的投入,你是在第一,如果檢查: 'inputFirst', 'inputLast', 'inputUsername', '控件inputPassword'。

<input type="text" id="inputLast" name="inputLast" placeholder="E.g. Hegde"> 
<input type="text" id="inputFirst" name="inputFirst" placeholder="E.g. Ashwin"> 

你只要有一個id:

<input type="text" id="inputFirst" placeholder="E.g. Ashwin">