2012-08-29 1 views
3

나는 PHP에 정말 새로운 말을 시작하자. 나는 그것으로 코드 작성하는 법을 배우는 것뿐입니다. 따라서이 코드를 설정하는보다 효율적인 방법에 대한 제안이 있으면 기꺼이 받아 들일 것입니다. 이 문제에에 좋아PHP 도움말 : MySQL 데이터를 레코드 일치 변수에서 가져 오려고합니다. 변수는 If-Then 문으로 설정됩니다. 부분적으로 작동

:이 사이트에 대한

, 우리는 세션 쿠키와 이름에 대한 데이터베이스를 확인하는 스크립트가 있습니다. 이름이 이러한 장소에서 발견되면 변수에 지정됩니다. 그렇지 않은 경우 URL 또는 사용자 제출에서 이름을 가져 와서 데이터베이스에 추가 한 다음 쿠키에 추가합니다. 이것은 if-then-elseif 문으로 모두 수행되며 모든 것이 등록 페이지를 제외한 모든 페이지에서 제대로 작동하는 것처럼 보입니다. 등록 페이지는이 스크립트에서 가져온 정보를 실제로 사용하는 유일한 페이지입니다. 다른 모든 페이지는 단순히 쿠키와 db 레코드를 확인한 다음 발견되지 않으면 작성합니다.

등록 페이지는 이전 스크립트에서 name 변수를 가져오고 이름 데이터베이스가 name 변수와 같은 레코드인지 확인합니다. 이 스크립트는 먼저 이름 제출을 확인합니다 (이 페이지의 별도 양식에서). 하나가 발견되면 이름 변수를 이름 제출과 동일하게 설정합니다. 그런 다음 세션을 확인한 다음 세션 변수에서 이름 변수를 가져옵니다. 셋째, 이전 스크립트의 이름 변수를 확인합니다. 이 항목은 쿠키, 데이터베이스 또는이 두 항목이 모두 만들어 질 때 설정된 변수 중 하나입니다.

여기에 문제가 있습니다. 세션에서 가져온 변수 나 쿠키에서 가져온 변수가 항상 정확한 정보를 가져옵니다. 그러나 쿠키/db가 생성 될 때 정보는 제출 이름, 데이터베이스의 이름 또는 변수 세트에 대해 전혀 나타나지 않습니다. DB 쿼리에서 실행되기 바로 전에 name 변수를 표시하는 echo 문을 설정하고 이름이 항상 올바르게 표시됩니다. 그러나 DB에서 가져온 것으로 보이는 것은 없습니다. 다음은 DB 쿼리입니다.

echo $name_variable."<br>"; 
    $query=mysql_query("SELECT * FROM db WHERE name='$name_variable' OR email='$name_variable'"); 

어떤 문제를 해결할 수 있습니까? 나는 이것이 내가 간과 한 단순한 무언가 일 뿐이라고 기대하고있다. 필요한 경우 코드를 게시 할 수 있지만 다소 길다.

+0

'$ name_variable'의 예제 값을 줄 수 있습니까? – AlienWebguy

+0

다이어그램이나 디자인의 다른 시각 자료를 추가해 주시겠습니까?그래서 다이어그램을 쉽게 추가 할 수있는 메커니즘이 필요합니다. –

+0

그 쿼리는 무엇을 반환합니까? '$ name_variable '이 설정되어 있는지보기 위해서 그냥 반향을 시도 했습니까? –

답변

0

다음 인덱스 변수를 ACESS하는

을 mysql_array

당신이 mysql_fetch_assoc을하고있다 ......이

mysql_query("SELECT * FROM db WHERE name='".$name_variable."' OR email='".$name_variable."'"); 
+0

왜? 보간은 잘 작동합니다. – AlienWebguy

1

$ 쿼리 =는 mysql_query ("SE 시도 .. 작동하지 않는 곳에 더 많은 코드를 제공하십시오.

0

와우 ... 나는 그것을 인정하기 싫지만 단지 초보자 오류였습니다.

데이터베이스가 포함 파일로 열립니다. 이 페이지에는 여러 개의 include가 있으며 그 중 하나에는 데이터베이스 파일 (require_once 함수 포함)이 포함되어 있습니다. 이 페이지는 또한 데이터를 비교하기 위해 (require_once와 함께) 데이터베이스를 열었습니다.

어쨌든이 페이지의 required_once를 필요한 것으로 변경했으며 모든 것이 완벽하게 작동했습니다.

답변 해 주신 모든 분들께 감사드립니다.