2012-07-02 2 views
0

그래서 나는이 로그인 PHP 스크립트를 사용하고 있는데 한 서버에서 정상적으로 작동합니다 ("success"| "invalid login"을 반환합니다). 그러면 줄 바꿈을 반환하고 "success"를 반환하기 때문에이 다른 서버가 중단됩니다. 또는 "invalid login"이 코드가 에코 이전에 줄 바꿈을 반환하는 이유는 무엇입니까?

내 생각은 php.ini 설정입니다. 나는 어느 것이 확실하지 않다.

<?php 
include("../config.php"); 
include("../connect.php"); 

$adminCheck = mysql_query("SELECT * FROM admins WHERE username = '" . mysql_real_escape_string($_POST['username']) . "' AND password = '" . mysql_real_escape_string($_POST['password']) . "'"); 
if (mysql_num_rows($adminCheck) == 1) 
{ 
    $result = mysql_fetch_array($adminCheck); 
    $_SESSION['user']['level'] = "admin"; 
    $_SESSION['user']['userid'] = $result['id']; 
    $_SESSION['user']['username'] = $result['username']; 
    echo "success"; 
} 
else 
{ 
    $clientCheck = mysql_query("SELECT * FROM clients WHERE username = '" . mysql_real_escape_string($_POST['username']) . "' AND password = '" . mysql_real_escape_string($_POST['password']) . "'"); 
    if (mysql_num_rows($clientCheck) == 1) 
    { 
     $result = mysql_fetch_array($clientCheck); 
     $_SESSION['user']['level']  = "client"; 
     $_SESSION['user']['userid']  = $result['id']; 
     $_SESSION['user']['username'] = $result['username']; 
     $_SESSION['user']['client']  = $result['client']; 
     echo "success"; 
    } 
    else 
    { 
     echo "invalid login"; 
    } 
} 
?> 
+2

확인하고 : 당신은 응답을 유지하기 위해 다음 변수를 초기화 할 수 귀하의 논리 값에서 하나 개의 값을 출력 한 후 한 번만 응답을 에코되기 때문에 보조 노트에

'connect.php', 거기에서 일어날 수 있습니다 –

+0

오 오른쪽 .. 초 ... 다시 초 – Ronnie

+0

미안 .. 클라이언트가 내게 파일을 이메일을 기다리고 ... – Ronnie

답변

3

나는 <?php ?> 부분 앞이나 뒤에 \\ (또는 \ r \ n)이 포함 된 코크스를 넣을 것입니다.

+1

이것은 실제로 이유가되었다. 코카콜라 대신, 나는 당신에게 받아 들인 대답으로 몇 가지 포인트를 줄 것이다. – Ronnie

2

이것은 주로 귀하의 포함 때문일 수 있습니다. 게시 한 코드에는 이유가 없으며 추가 할 php.ini 설정이 없습니다.

더 이상 도움을 받으려면 구성을 게시하고 username/pw hidden으로 연결하십시오.

+0

그가 connect.php를 필요로하는 것처럼 보입니다. 그렇지 않으면 mysql_query 함수 호출이 실패 할 것입니다 ... –

+0

게시 된 코드가 작동하지 않을 이유가 없습니다. 아니 그는 포함을 필요로하지 않았다;) – JClaspill

+0

훨씬 더 이해가 아 : –

1

표시된 코드는 줄 바꿈이 발생했음을 나타내지 않습니다. config.php``내부

<?php 
include("../config.php"); 
include("../connect.php"); 

$response = 'success'; 

$adminCheck = mysql_query("SELECT * FROM admins WHERE username = '" . mysql_real_escape_string($_POST['username']) . "' AND password = '" . mysql_real_escape_string($_POST['password']) . "'"); 
if (mysql_num_rows($adminCheck) == 1) 
{ 
    $result = mysql_fetch_array($adminCheck); 
    $_SESSION['user']['level'] = "admin"; 
    $_SESSION['user']['userid'] = $result['id']; 
    $_SESSION['user']['username'] = $result['username']; 
} 
else 
{ 
    $clientCheck = mysql_query("SELECT * FROM clients WHERE username = '" . mysql_real_escape_string($_POST['username']) . "' AND password = '" . mysql_real_escape_string($_POST['password']) . "'"); 
    if (mysql_num_rows($clientCheck) == 1) 
    { 
     $result = mysql_fetch_array($clientCheck); 
     $_SESSION['user']['level']  = "client"; 
     $_SESSION['user']['userid']  = $result['id']; 
     $_SESSION['user']['username'] = $result['username']; 
     $_SESSION['user']['client']  = $result['client']; 
    } 
    else 
    { 
     $response = "invalid login"; 
    } 
} 

echo $response; 
?> 
+0

그것도 좋은 방법이다. – Ronnie

관련 문제