2015-11-23 52 views
0

我是新的數據庫類和工作。我試圖讓我的舊登錄系統與這個數據庫類一起工作,但是它返回了我的無效登錄錯誤,就像數據庫中沒有這樣的電子郵件和密碼一樣。但是還有。帶有DB連接類的登錄系統不會登錄。返回與其他錯誤無效登錄

連接類:

class Conexao 
{ 
private $link; 

public function __construct($host = null, $username = null, $password = null, $dbName = null) 
{ 
$this->link = mysqli_init(); 
$this->link->real_connect($host, $username, $password, $dbName) or die("Failed to connect"); 
} 

public function __destruct() 
{ 
$this->link->close(); 
} 

public function Query($sql) 
{ 
return $this->link->query($sql); 
} 

登錄頁面:( ':../admin.php?erroLogin=1位置')

<?php 
include('dbConnect.php'); 
session_start(); 

$conexao = new Conexao("localhost", "root", "XXXXX", "festas"); 

if(isset($_POST['submit'])) { 

$email = mysqli_real_escape_string($conexao,$_POST['email']); 

$pass = mysqli_real_escape_string($conexao,$_POST['senha']); 

$sel_user = $conexao->Query("SELECT * from contas where email='$email' AND senha='$pass'"); 

$check_user = mysqli_num_rows($sel_user); 

$row = mysqli_fetch_assoc($sel_user); 

if($check_user>0){ 

$_SESSION['user_email']=$email; 

header('Location: ../adminpage.php'); 

mysqli_free_result($result); 
} else { 
header('Location: ../admin.php?erroLogin=1'); 
} 

} 

?> 

總是將其與 「其他」 頭返回。我認爲這可能是因爲「$ check_user = mysqli_num_rows($ sel_user);」但我試圖修復,但不能。 。試了也「$ conexao-> NUM_ROWS($ sel_user)

+0

很多事情是未知的,你需要看看你的POST數組是否是空的,並正確呈現值。然後,確保列類型正確並且密碼足夠長。檢查錯誤報告和MySQL錯誤檢查的可能錯誤。 –

+0

嗨。是的,使用表單和數據庫都可以。我怎樣才能檢查他的錯誤報告? –

回答

0

我解決呢?這裏是我所做的:

在DB類PHP:

public function Escape($sql) 
{ 
    return $this->link->real_escape_string($sql); 
} 

然後在登錄的PHP:

$email = $conexao->Escape($_POST['email']); 

謝謝!