2014-01-22 141 views
-2

我有2個php文件login1.php和profile.php。在login1.php中有一些錯誤。php登錄和註銷腳本錯誤

Login1.php:

<?php 

$con = mysqli_connect("localhost","","",""); 

if (!$con) 
    { 

    echo" Not connected to database"; 
    die('Could not connect: ' . mysqli_error()); 
    } 

session_start(); 
$message=""; 
if(count($_POST)>0) { 
$username = $_POST["username"]; 
$password = $_POST["password"]; 
$query="SELECT * FROM `Login` WHERE Login.username='$username' AND Login.password='$password'"; 
$result = mysqli_query($con,$query); 

if (!$result) { 
    printf("Error: %s\n", mysqli_error($con)); 
    exit(); 
} 
$row = mysqli_fetch_array($con,$result); 
if(is_array($row)) { 
$_SESSION["username"] = $row['username']; 

} else { 
$message = "Invalid Username or Password!"; 
} 
} 
if(isset($_SESSION["username"])) { 
header("Location:profile.php"); 
} 
?> 

錯誤: 警告:mysqli_fetch_array()預計參數1被mysqli_result,在給定的/public_html/site/login1.php第21行

由於對象這些錯誤login1.php沒有鏈接到profile.php,但當我直接訪問profile.php其工作正常。

+1

'混合mysqli_fetch_array(mysqli_result $結果[摘要$與resultType = MYSQLI_BOTH])'=>滴從呼叫您的'$ con'。順便說一句:如果profile.php在沒有登錄的情況下工作...是不是一個安全問題? – Wrikken

+4

由於OP沒有閱讀[documentation](http://us2.php.net/mysqli-fetch-array) – Kermit

+0

Lovely [SQL注入攻擊](http:// bobby- tables.com)洞。享受你的服務器pwn3d。 –

回答

0

問題是mysqli_fetch_array(),不需要連接。它不是在與數據庫交談。刪除連接,它應該工作。

$row = mysqli_fetch_array($result); 
+0

Thnx 4你的幫助。 – reaper1

+0

不客氣。如果可以的話,請標記爲答案,如果這有助於您並注重成功。謝謝 – WreithKassan