2012-01-13 80 views
0

我似乎有一個登錄腳本的問題,它工作在本地的PHP開發盒,但不是在我的生活環境,我假設我失去了一些人可以任何人進一步建議?登錄腳本本地工作,但不在現場環境

<?php 
$user = $_POST["swtorun"]; 
$pass = $_POST["swtorpw"]; 

// Generate hash 
$enc_pwd = hash('sha256', $pass); 

// Connect to DataBase 
include('../../settings.php'); 

$conn = mysql_connect($host,$username,$password); 
$db = mysql_select_db($database, $conn); 

// mySql Query users 
$sql = "SELECT * FROM `users` WHERE username='$user' and password='$enc_pwd'"; 
$result = mysql_query($sql, $conn); 

$count = mysql_num_rows($result); // number of results (should be 1) 

if($count==1){ 
// initiate session 
session_start(); 
$_SESSION['logged'] = "1"; 
echo "you are now logged in, return to the <a href=\"../../index.php\">index</a>"; 
} else { 
echo "Wrong Username or Password"; 
} 
?> 
+2

請定義「不起作用」。有沒有錯誤? – Connum 2012-01-13 17:02:27

+0

在開箱上它工作正常,在生活我得到我的「錯誤的用戶名和密碼」輸出。 – 2012-01-13 17:03:20

+1

=> http://xkcd.com/327/:請使用'mysql_real_escape_string()'! – ComFreek 2012-01-13 17:04:02

回答

0

問題原來是因爲我的表名大寫在一個腳本上,但小寫在這個腳本上,因此查詢失敗,代碼依賴於它,我修復了另一個腳本來創建小桌子。

感謝所有幫助解決問題的提示。

2

session_start();添加到您的PHP代碼的最頂部。

+1

這不會幫助他錯誤的用戶名密碼錯誤。 if()塊僅檢查$ count == 1。您可以調用session_start();任何時候在標題被髮送到瀏覽器之前。 – ddubs 2012-01-13 17:08:38

相關問題