2012-01-13 53 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

相关问题