2013-12-13 67 views
0

好吧,所以我沒有太多的知識或SQLite潛水,我有一個通用的checklogin PHP文件,我想連接到數據庫來檢查登錄。所以沒有太多的SQLite的理解,我錯過了什麼,我從來沒有使用過數據庫。我只需要了解將數據庫連接到此的基本起點或概念。我有一個index.html抓取用戶名和密碼,並輸入它來檢查數據庫登錄,但無法連接到數據庫與sqlite。每次我嘗試登錄時,它都會顯示這個php文件代碼,是因爲它沒有連接到數據庫?SQLite和登錄初學者

<?php 


$host="localhost"; // Host name 
$username="Test"; // Mysql username 
$password="test"; // Mysql password 
$db_name="test"; // Database name 
$tbl_name="members"; // Table name 

// Connect to server and select databse. 
mysqli_connect("$host", "$username", "$password")or die("cannot connect"); 
mysqli_select_db("$db_name")or die("cannot select DB"); 

// username and password sent from form 
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 

// To protect MySQL injection (more detail about MySQL injection) 
$myusername = stripslashes($myusername); 
$mypassword = stripslashes($mypassword); 
$myusername = mysqli_real_escape_string($myusername); 
$mypassword = mysqli_real_escape_string($mypassword); 
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; 
$result=mysqli_query($sql); 

// Mysql_num_row is counting table row 
$count=mysql_num_rows($result); 

// If result matched $myusername and $mypassword, table row must be 1 row 
if($count==1){ 

// Register $myusername, $mypassword and redirect to file "login_success.php" 
session_register("myusername"); 
session_register("mypassword"); 
header("location:login_success.php"); 
} 
else { 
echo "Wrong Username or Password"; 
} 
?> 
+1

你得到了什麼錯誤?你在輸出中獲得完整的PHP代碼嗎?如果是的話,你必須在web服務器上運行這個程序,如Apache Tomcat或任何其他服務器,並與工作數據庫 –

+0

是的,我得到完整的PHP代碼,我有XAMPP,所以我會嘗試在那裏運行它。謝謝! – user2318083

+0

在XAMPP運行它給了我這樣的: 警告:mysqli_connect():(HY000/2002):在/Applications/XAMPP/xamppfiles/checklogin.php在線11 沒有這樣的文件或目錄無法連接 11號線是:「mysqli_connect(」$ host「,」$ username「,」$ password「)或死(」無法連接「);」 所以從我猜測它沒有連接到數據庫。我的test.db文件假設在哪裏? – user2318083

回答

0

希望它可以幫助你

function getConnected($host,$user,$pass,$db) 
{ 
$mysqli = new mysqli($host, $user, $pass, $db); 

if($mysqli->connect_error) 
die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error()); 

return $mysqli; 
} 

$mysqli = getConnected('localhost','user','password','database'); 

如果你的代碼真的不連接到數據庫,然後將打印消息「無法連接到數據庫」爲你寫的模具()語句。

+0

有沒有一個特定的地方,我的數據庫文件假設在和我如何確保我正確設置我的數據庫文件? – user2318083