2014-03-28 18 views
0

我正在嘗試使登錄頁面php。如果信息很好,它應該導航到「main.php」,如果信息是false它應該導航到「accessdenied.php」。但是,頁面卡在checkauth.php登錄PHP/MYSQL將不會轉到下一頁使用位置

所以該過程是這樣的:

  1. 的index.php < - 用戶輸入信息和壓力機登錄
  2. checkauth.php < - 連接到數據庫和檢查表,如果信息是正確[Get stuck on this page]
  3. 應該轉到main.phpaccessdenied.php它永遠不會進入任一頁面。

我們的代碼

文件名:checkauth.php

<?php 
$username= $_POST['username']; //usernamefrom index.php 
$password = $_POST['password']; //password from index.php 

if ($password) 
{ 
$connect = mysql_connect("localhost","username","password") or die("Error Connecting To MYSQL Server"); 
mysql_select_db("DB") or die("Error connecting to database"); 

$query = mysql_query("SELECT * FROM TBL WHERE username = '$username' AND password = '$password'"); 

$numrows = mysql_num_rows($query); 

if ($numrows != 0) 
{ 
header('location: main.php') ;  
} 
else 
    header('Location: accessdenied.php') ; 
} 
?> 

請指教。

回答

0

你要通過連接的物體,像

mysql_select_db("DB",$connect) or die("Error connecting to database"); 
0

的MySQL已被棄用。嘗試使用的MySQLi代替:

<?php 

/* ESTABLISH YOUR CONNECTION */ 

$connect=mysqli_connect("localhost","username","password","DB"); 

if(mysqli_connect_errno()){ 

echo "Error".mysqli_connect_error(); 
} 

/* YOU SHOULD PRACTICE USING MYSQLI_REAL_ESCAPE_STRING TO PREVENT SOME SQL INJECTIONS */ 

$username=mysqli_real_escape_string($connect,$_POST['username']); /* usernamefrom index.php */ 
$password=mysqli_real_escape_string($connect,$_POST['password']); /* password from index.php */ 

$query = mysqli_query($connect,"SELECT * FROM TBL WHERE username = '$username' AND password = '$password'"); 

$numrows = mysqli_num_rows($query); /* STORE THE TOTAL NUMBER QUERY IN $numrows VARIABLE */ 

if ($numrows != 0) 
{ 
header('location: main.php') ;  
} 
else 
    header('Location: accessdenied.php') ; 
} 

?> 
相關問題