2014-01-22 5 views
-2

У меня есть 2 php-файла login1.php и profile.php. В login1.php есть некоторые ошибки.Ошибка в php login и logout script

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, но когда я напрямую обращаюсь к профилю.php, он работает нормально.

+1

'смешанный mysqli_fetch_array (mysqli_result $ результата [, Int $ ResultType = MYSQLI_BOTH])' => уроните '$ con' от вызова. BTW: если profile.php работает без входа в систему ... разве это не проблема безопасности? – Wrikken

+4

Этот вопрос не соответствует теме, потому что OP не читал [документацию] (http://us2.php.net/mysqli-fetch-array) – Kermit

+0

Lovely [SQL injection attack] (http: // bobby- tables.com) дыра. Наслаждайтесь наличием вашего сервера pwn3d. –

ответ

0

Проблема в том, что mysqli_fetch_array(), не требуется подключение. Это не разговор с базой данных. Удалите соединение, и оно должно работать.

$row = mysqli_fetch_array($result); 
+0

Thnx 4 ур помочь. – reaper1

+0

Добро пожаловать. Когда вы можете, отметьте как ответ, если это поможет вам и повысить. благодаря – WreithKassan