2012-04-30 50 views
2

這是工作,但突然間,我收到此錯誤消息。 「錯誤消息:腳本頭 過早結束:cust.php」錯誤消息:腳本標題的提前結束

<?php 
    //contact to database 
    $user = ''; 
$pass = ''; 
$db_name=""; // Database name 
$tbl_name="cust"; // Table name 

// Create a connection to the MySql server 
$conn = mysql_connect('', $user, $pass); 
mysql_select_db("$db_name")or die("cannot select DB"); 


//Get data in local variable 
$v_Fname=$_POST['First_Name']; 
$v_Lname=$_POST['Last_Name']; 
$v_FAdd=$_POST['First_Add_Line']; 
$v_postCode=$_POST['Postcode']; 
$v_Num=$_POST['ContactNum']; 
$v_Email=$_POST['Email']; 


// check for null values 
if ($v_Fname=="" or $v_Lname=="" or $v_FAdd=="" or $v_postCode=="" or $v_Num=="" or   $v_Email=="") 
echo "All fields must be entered, hit back button and re-enter information"; 
else{ 
$query="INSERT INTO  $tbl_name(First_Name,Last_Name,First_Add_Line,Postcode,ContactNum,Email) values('$v_Fname','$v_Lname','$v_FAdd','$v_postCode','$v_Num','$v_Email')"; 
mysql_query($query) or die(mysql_error()); 
echo "You have registered as a Customer, Thank you"; 
echo "<BR>"; 
echo "<a href='index.html'>Back to main page</a>"; 
} 

mysql_close(); 

?> 

請幫幫忙,謝謝提前:)

+2

您的代碼易受SQL注入攻擊。你真的**應該使用準備好的語句,將你的變量作爲參數傳遞給你,這些參數不會被SQL評估。如果你不知道我在說什麼,或者如何解決它,請閱讀[Bobby Tables](http://bobby-tables.com)的故事。 – eggyal

+0

@eggyal我剛剛在一個小時前做過關於SQL注入的講座,有多搞笑。但安全性並不是問題。 – ErHunt

+0

這就是你說的話,直到你被黑客攻擊;)除了如果應用程序,如果只爲了你自己的人格使用,總是要小心安全...... – adrien

回答

0

你試試這個

mysql_select_db("$db_name",$conn)or die("cannot select DB"); 

你也應該使用mysql_real_escape_string()爲每個職位變量。

謝謝。

+0

仍然沒有運氣隊友:( – ErHunt

+0

是你的數據庫的主機名是否正確? –

+0

它是正確的,整個事情之前的工作。 – ErHunt

相關問題