2016-09-20 13 views
1

내 안드로이드 애플 리케이션에 3 PHP 파일 - dbConnect.php, 데이터베이스에 연결, 사용자가 로그인 volleyLogin.php, 그리고 UserDetails.php, 로그인 한 사용자에 대한 정보를 가져옵니다.내 변수가 포함되지 않은 PHP 파일에 include가 포함되어있는 이유는 무엇입니까?

내 브라우저에서 파일을 실행할 때 완벽하게 작동하지만 내 Android 앱에서 실행하면 UserDetails.php이 작동하지 않습니다. 그것은 '0 결과'를 계속 반환하고 나는 변수가 다른 PHP 파일에 하나의 PHP 파일의 내용을 삽입하기로되어있는 include 문을 사용하더라도 정의되지 않았다고 말합니다.

dbConnect.php은 다음과 같습니다

<?php 

define ('HOST', 'localhost'); 
define ('USER', 'root'); 
define ('PASS', 'password'); 
define ('DB', 'dbname'); 

$con = mysqli_connect("localhost", "root", "password", "dbname") or die('Unable to Connect'); 

?> 

volleyLogin.php는 다음과 같이이다 :

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

$resultSet = $con->query("SELECT category.cat_name FROM category INNER JOIN user ON category.user_id = 
user.user_id WHERE user.username = '$username' ") 

or die($con->error); 

if ($resultSet->num_rows > 0) { 

     while($rows = $resultSet->fetch_assoc()) { 

$catname = $rows['cat_name']; 

     echo "<p> Name: $catname </p>"; 
}} 
     else { 
    echo "0 results"; 
} 
//echo "userdetails.php works"; 

$con->close(); 

?> 

문제 라인은 다음과 같습니다 :

<?php 

if($_SERVER['REQUEST_METHOD']=='POST'){ 
$username = $_POST['username']; 

include('dbConnect.php'); 
$sql = "SELECT * FROM user WHERE username = '$username'"; 
$result = mysqli_query($con,$sql); 
$check = mysqli_fetch_array($result); 
if(isset($check)){ 

     echo 'success'; 
} else { 
     echo 'Could not log in'; 
} 
} 

?> 

그리고 UserDetails.php은 다음과 같습니다

+0

사용을'일치 $username을 정의합니까 'include' 대신'require'를 사용하고 로그를 확인하십시오. –

답변

1

논리가 잘못되었습니다. mysqli_*() 함수는 기본적으로 객체/결과 핸들을 반환하거나 부울 true (성공)/false (실패)를 반환합니다. 그들은 항상 뭔가를 돌려 주므로 :

$check = mysqli_fetch_array($result); 
if(isset($check)){ 

잘못되었습니다. $check이 항상 설정됩니다. 명시 적으로 감지 할 거짓 부울 실패를 확인해야합니다

if ($check === false) { 
    die(mysqli_error($con)); 
} 

그리고 샘플 코드 없음에 점에 유의 당신은 그래서 당신의 쿼리가 WHERE user.username = ''을하고, 아마 0

+0

'$ username = $ _POST [ 'username'];'라고 대답했을 때 답을 살펴볼 것이지만'$ username'은'volleyLogin.php'에 정의되어 있지 않습니다. – CHarris

+0

게시물이 수행되는 경우에만 ... –