2013-09-23 190 views
0

您好我正在創建登錄歷史記錄。它可以成功登錄,但問題是我不能將數據插入到我的「登錄歷史記錄」表中。這是迄今爲止我的代碼。它可以成功登錄,但不能將用戶名插入歷史記錄表中的日誌中。創建登錄歷史

<?php 
    //Start session 
    session_start(); 

    //Array to store validation errors 
    $errmsg_arr = array(); 

    //Validation error flag 
    $errflag = false; 

    //Connect to mysql server 
    $link = mysql_connect('localhost','root',""); 
    if(!$link) { 
     die('Failed to connect to server: ' . mysql_error()); 
    } 

    //Select database 
    $db = mysql_select_db(inventory, $link); 
    if(!$db) { 
     die("Unable to select database"); 
    } 

    //Function to sanitize values received from the form. Prevents SQL injection 
    function clean($str) { 
     $str = @trim($str); 
     if(get_magic_quotes_gpc()) { 
      $str = stripslashes($str); 
     } 
     return mysql_real_escape_string($str); 
    } 

    //Sanitize the POST values 


    // Generate Guid 
    $login = clean($_POST['username']); 
    $password = clean($_POST['password']); 


    //Create query 
    $qry="SELECT * FROM admins WHERE username='$login' AND password='$password'"; 
    $result=mysql_query($qry); 

    //Check whether the query was successful or not 
    if($result) { 
     if(mysql_num_rows($result) > 0) { 

     $sql="INSERT INTO log_history (emp_name) 
     VALUES ('$login')"; 


      //Login Successful 
      session_regenerate_id(); 
      $member = mysql_fetch_assoc($result); 
      $_SESSION['SESS_MEMBER_ID'] = $member['username']; 
      session_write_close(); 

      header("location: auto.php?id=0"); 
      exit(); 
     } 



     else { 
    header("location: alert.php"); 


     } 

    } 



?> 
+0

這可能是因爲你的變量$ username不存在。我認爲這應該是$登錄。 – Ruben

+0

我已經改變了它,但不能插入到我的tbl「log_history」 – user2656724

+0

你甚至不執行你的INSERT語句。 – djot

回答

0

你似乎並沒有真正插入你想記錄到historry表:

$sql="INSERT INTO log_history (emp_name) 
    VALUES ('$username')"; 

    // Should you run this insert query? 
    mysql_query($sql); 

     //Login Successful 
     session_regenerate_id(); 
     $member = mysql_fetch_assoc($result); 
     $_SESSION['SESS_MEMBER_ID'] = $member['username']; 
     session_write_close(); 

我認爲你缺少一個在那裏的某個地方執行語句。另外,如果您剛剛開始,您應該考慮開始使用PDO並準備好語句。雖然你正在做一些基本的清理,但你的代碼仍然不是真正的防彈。 Take a read of this並請考慮轉向PDO並準備報表。

+0

「這應該是一個評論」,其他超級SO用戶告訴我;) – djot

+0

是的,這是我的problem.im只是新的PHP。我的代碼是否正確? – user2656724

+0

@djot這是怎麼評論?我顯示了錯誤(不執行他的插入語句)並添加了將執行此操作的行,然後還指出他正在使用需要更新的舊函數,並給他一個指向另一個覆蓋它的答案的鏈接 - 在我之間和其他答案。 – Fluffeh

0

代碼插入到表log_history的位置在哪裏?我沒看到它。 也許你需要撥打

$sql="INSERT INTO log_history (emp_name) VALUES ('$username')"; 
$result2=mysql_query($sql);