2016-04-03 68 views
-5

解析錯誤:語法錯誤,意外 '$用戶'(T_VARIABLE)在C:\ XAMPP \ htdocs中\ 4號線PHP語法eroor

<?php 

$host = "localhost" 
$user = "root"; <------ line 4 
$pass = ""; 
$db = "table"; 

mysql_connect($host, $user, $pass); 
mysql_select_db($db); 

if (isset($_POST['username'])) { 
    $username = $_POST['username']; 
    $password = $_POST['password']; 

    $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'"; 
    $res = mysql_query($sql); 

    if (mysql_num_rows($res) == 1) { 
     echo "Super"; 
     exit(); 
    } else { 
     echo "Siper"; 
     exit(); 
    } 
} 

?> 

家\ login.php中如何解決呢?

+1

修正第3行錯誤 – JimL

+3

失蹤$主機上'= 「localhost」 的' – andrewsi

+0

分號(什麼是之前'$ user'直接失蹤了?)考慮使用NetBeans,Eclipse或PHP Storm等IDE來幫助檢測這些錯誤,而無需運行任何代碼。 – halfer

回答

1

你錯過了第一行分號。請記住,在php中,錯誤通常指的是左右的行號,並且不一定是上的行。 :)

$host = "localhost"; 

編輯:

您可能還需要淨化你的$ _ POST數據,或重新考慮你構建這樣的方式,否則你要離開的事打開SQL注入。

採取通過這裏瞭解更多信息,請閱讀: What's the best method for sanitizing user input with PHP?

+0

附加問題的好處! '':-) – halfer

1

缺少分號:

<?php 

$host = "localhost"; <--- error :D 
$user = "root"; <------ line 4 
$pass = ""; 
$db = "table"; 

mysql_connect($host, $user, $pass); 
mysql_select_db($db); 

if (isset($_POST['username'])) { 
    $username = $_POST['username']; 
    $password = $_POST['password']; 

    $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'"; 
    $res = mysql_query($sql); 

    if (mysql_num_rows($res) == 1) { 
     echo "Super"; 
     exit(); 
    } else { 
     echo "Siper"; 
     exit(); 
    } 
} 

?>