2012-12-19 2 views
0

를 작동하지 않는 경우는 I은 다음과 같습니다 일부 코드가 있습니다. 페이지 자체가 다시로드되고 member_list에서 가져온 내용 만 표시됩니다. 또는 제품 카테고리 링크를 누른 경우 prodcat_list에서 되돌아 오는 내용이 표시됩니다.문제 _GET와 문

문제가 있습니다. member_list에서 되돌아 오는 것이 무엇이든 인덱스 페이지를로드하면 바로 나타납니다. URL에 'Cat'이 선언되지 않았음에도 불구하고 이런 일이 발생하면 링크를 사용하여 변경할 수 없습니다.

나는 $ _GET [ "Cat"]에 대한 반향을 볼 수 있습니다. 페이지가 변경 될 때마다 변경됩니다.

그러나 페이지의 나머지 부분은 아닙니다. 나는 이유를 모른다. 또한이 문제를 해결할 방법을 찾을 수 없습니다. if/else if 문을 바꿔 치기하면됩니다. prodcat_list를 표시 할 수 있습니다. 그런데 같은 문제가 member_list를 표시하려고합니다. NFI 무슨 일이 일어나고 있는지. Im PHP 만있는 아마추어. 매일 나아지고 있습니다. 그러나 나는 갈 길이 멀다.

수정

나는 바보입니다. 감사합니다 여러분! ==

+0

그 오타가 있습니까? 아니면 할당 연산자'='를 사용하여 실제로 비교하려고합니까 ('==')? –

답변

2

if ($_GET["Cat"] = 'members'){ 

if ($_GET["Cat"] == 'members'){ 

주 대신 ===처럼해야합니다! 나중에 다른 if 절에서도 마찬가지입니다.

하나만 사용하는 경우 =, 실제로 할당을 수행합니다. 따라서 귀하의 경우 if 절에서 member 값을 변수 $_GET["Cat"]에 할당하려고합니다. 할당에 문제가 없으므로 실행되고 if 절은 true으로 평가됩니다.

비교를 위해 == 또는 ===을 사용하십시오. 싱글 =은 과제 용입니다! 에서

당신이

처럼 이중 "="모피 commparison를 사용하는 경우는-선언문
if ($_GET["Cat"] == 'prodcat') 
+0

OHHHH 하나님 저버린 어떻게 그리웠습니까? 정말 고마워요! – user1906005

0

코드는 실수 있습니다. $_GET['Cat']을 다른 문자열과 비교하려면 비교 연산자를 사용해야합니다.

처음으로 index.php을 열 때 $_GET['Cat']을 사용하면 $_GET['Cat']이 정의되지 않으므로 알림 (정의되지 않은 색인)이 생성됩니다. 이 문제를 해결하려면 if(isset($_GET['Cat']))을 사용하십시오.

희망이 있습니다.

1

=가 할당 == 비교를 의미 의미

+0

+1 사실, PHP는 경고가 아닌 정의되지 않은 색인의 * notice *를 방출하지만 ... –