2012-05-19 3 views
0

좋아, 그래서 나는 다른 사람들의 코드에서 벗어난 php를 가르치려고한다. 코드 중 일부는 오래된 것일지도 모르지만 학교에 갈 시간이 될 때까지 필수 사항을 진행하는 데 효과적입니다. 내 문제는 정의되지 않은 변수 오류입니다. 현재이 주제에서 찾을 수있는 것은 오류를 숨기는 방법이지만 숨길 수는 없습니다. 그것이 숨겨져 있어도 문제가 해결되었다는 것을 의미하지 않는다면, 당신이 그것을 무시할 수있는 방법을 찾았다는 것을 의미합니다. 이유 때문에 오류가 발생했습니다.PhP 정의되지 않은 변수

오류가 발생하는 행.

<form method=post 
     <?php echo "action=\"registration.php?f=".(!$flag)."&amp;s=".$sort."\""; ?> 
     enctype="multipart/form-data" > 

다음은 페이지의 문제입니다.

Notice: Undefined variable: flag in C:\wamp\www\info\registration.php on line 236 

다른 것들이 있지만,이 문제를 해결하는 방법을 배울 수 있다면 다른 사람들을위한 해결책이 될 것입니다. 추가 정보가 필요하면 알려주십시오. 미리 감사드립니다. 너무 finiky되는 것에 대해 유감스럽게 생각한다. 나는 내 얼굴에서 바로 방송하려고하는 이슈들을 무시하고 싶지 않습니다. 배우는 다른 사람의 코드를 읽기

답변

3

귀하의 질문에 대답하려면 - $flag이 무엇을 의미하는지 알아 내고 적절하게 설정하십시오. 부울처럼 보이므로 양식 렌더링 전에 $flag = true;을 사용하는 것만 큼 간단 할 수 있습니다. 그러나 똑같이 복사 한 경우 필요하지 않을 수도 있습니다. 코드에서 코드를 제거 할 수 있습니까?

이제 스타일 규칙을 권하고 싶습니다. 귀하의 예제에서 form 태그의 action 속성을 반향시키고 있습니다. 그 속성이 변수에 종속되어 있고 사용되지 않을 경우에만 수행 할 것입니다.

<form method="post" 
     action="registration.php?f=<?php echo !$flag ?>&amp;s=<?php echo $sort ?>" 
     enctype="multipart/form-data" 
> 

당신은 내가 여러 줄에 걸쳐 태그를 포장했습니다 알 수 있습니다 :

나는 그것을이 방법을 수행하는 청소기라고 생각합니다. 다시 말하지만 이것은 선택 사항이지만 완벽하게 유효한 마크 업용이며 편집기에서 가로 스크롤을 피하는 데 도움이됩니다. 또한 각각의 속성이 시작되는 위치를보다 쉽게 ​​알 수 있습니다.

+0

질문에 대답했다면, 나는 upvote. – kapa

+0

당신을 이길, @ bažmegakapa';)' – halfer

+0

당신 각하; 내 영웅이야. :) 모든 페이지에서 정의되지 않은 변수를 찾고 있었고 코드에서 제거하면 모든 오류가 제거되어 표시되는 오류가 수정되었습니다. 제 질문은 왜 원래의 코더가 처음에 그들을 넣었 을까요? 잘. 원본 코딩에 대해 더 깊이 알아보고 내가 필요한 것을 배울 수 있기를 바랍니다. 고맙습니다. –

3

좋은 일이다 - 나는 더 많은 사람들이 그것을 할 텐데)

PHP는 "스크립트 언어"입니다. C#, C++ 또는 Java와 같은 "강력하게 형식화 된"언어와 달리 "스크립팅 언어"를 사용하면 언제든지 원하는대로 변수를 사용할 수 있습니다.

편리하고 유연합니다 ... 을 초기화하면 변수가 초기화되기 전에을 사용하면 문제가 발생할 수 있습니다.

+1

많은 사람들이 다른 사람의 코드를 부끄럽게 생각한다고 생각하는 것 같습니다. 그러나 다른 사람들의 실수를 바탕으로 올바르게 코딩하는 법을 배우고 제대로 수행하는 법을 배울 수 있다면 어디에서 증오가 에서 오는. 모두가 그것을 단지 침투하려고 시도하는 사람으로 보는 것은 아니라는 것을 알려 주셔서 감사합니다. :) –

+0

'리칭 (Leeching)'은 당신이 크레디트를주고 신용을 존중하면 면허증을 존중하면 완전히 괜찮아요. ') – halfer

1

아직 설정되지 않은 변수를 참조하고 있습니다 (이 경우 $flag).

기본적으로 $flag에는 할당 된 값이 없으므로 존재하지 않습니다. $flag가 설정되어있는 부분 앞에 코드가 있습니까?

+0

잘 모르겠습니다.저는 CSS와 HTML5로 작업하는 것을 자바 스크립트로 옮기고 PHP로 옮기고 싶습니다. 그래서 실제로 변수를 이해하는 유일한 방법은 CSS 변수였습니다. PHP 코드는 실제 변수를 정의하는 방법에 대한 손실이있는 곳과 다르게 처리되는 것 같습니다. (누락 된 부분을 파악하는 데 도움이되는 행운을 기대하고 있습니다.) 등록을 통해 검색. PHP는 플래그가 언급 된 유일한 장소이기 때문에 아마 값을 할당하지 않았다고 생각합니다. –