2014-01-22 4 views
-2

나는 login1.php와 profile.php라는 두 개의 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()는 예상 한 파라미터 mysqli_result되는,

인해 라인 (21) 상에 제공된 객체 /public_html/site/login1.php 이러한 오류는 login1.php가 profile.php에 연결하지 않고 profile.php에 직접 액세스 할 때 잘 동작합니다.

+1

'혼합 mysqli_fetch_array (mysqli_result $으로 결과 [INT $ resulttype = MYSQLI_BOTH])'=> 것은 호에서 '$의 con' 놓는다. BTW : profile.php가 로그인하지 않고 작업하고 있다면 ... 보안 문제가 아닙니까? – Wrikken

+4

OP는 [documentation] (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 ur 도움. – reaper1

+0

반갑습니다. 할 수있을 때, 이것이 당신과 upvote를 도운다면 대답으로 표시하십시오. 감사 – WreithKassan

관련 문제