자바스크립트 안에 php문 > 자유게시판

자유게시판

자바스크립트 안에 php문 정보

자바스크립트 안에 php문

본문

코드 짜다가 갑자기 궁금해서 질문드립니다.

글쓰기 체크하는 폼부분에서 특정값에 따라 자바스크립트가 틀릴 경우
javascrip 와 php 둘중 어느걸로 짜는게 좋을까요?

1. php if문으로 출력 여부 체크
<? if($category == "s1") { ?>
jascript code1
<? } else { ?>
jascript code2
<? } ?>

2. javascript 로 체크
if (f.category.value == "s1") {
javascript code1
} else {
javascript code2
}

별차이 없으려나요?

스크립트문 안에 php로 집어넣으니 너무 지저분하네요~;;


추천
0

댓글 25개

php는 서버사이드 언어이고 javascript는 클라이언트사이드 언어입니다.
즉 php는 항상 먼저 해석되어야해요. 1번 같은 코드는 불가능합니다.
딴지가 아니라 저도 잘 몰라서 그러는데, $category 값이 s1 일때 code1 이 나오고 아니면 code2 가 나오면 되는데 왜 불가능한 거에요?? 서버에서 처리해서 맞는 걸 전송해 주고, 나머지는 클라이언트에서 알아서 지지고 볶고 하면 될 것 같은데...
클라이언트 브라우저는 서버사이드 언어를 해석 할 수 없습니다.
이미 PHP의 과정을 거치고 나온 문서가 브라우저에 의해 해석 되기 때문이죠.
브라우저에서는 <?php ?> 라는 영역이 이미 출력 결과로 나타났기 때문에 전혀 상관이 없습니다.
혹시나 PHP 프로세스가 종료, 다운되는 경우가 아니면 1번 같은 코드도 사용 가능합니다.

덧, javascript는 서버사이드 클라이언트 사이드 양쪽에 다 사용될 수 있는 언어입니다^^;
폼 체크라면 1번이 맞지 않네요.

폼체크는 스크립트로만 해야됩니다.

업데이트시  php로 한번더 체크해야겠지요.

폼체크가 아니라면 1번같은 경우도  쓰지요
저같은 경우는 가급적 2번의 경우를 많이 사용하려고 합니다.
1번의 경우 소스가 지저분해져서... 꼭 필요한 경우 아니면 2번으로 많이 쓸려고해요...

사람들이 javascript 가 쉽다고생각하는분이 많은데...javascript 만으로 만들어보면 얼마나 어려운 언어인지 알게되네요...
간과하는게 있네요. javascript는 공백하나 하나도 다 데이터로 인식합니다. 클라이언트 딴에서는 1번과 같이 코딩해주셔서 서버에서 한번 걸러 주시는게 옳습니다. 물론 가독성면이나 소스 정리면에서는 2번이 좋을 듯하지만요. 다운받으시는 js 파일이 왜 다 길게 붙여서 배포되는지를 생각하시면됩니다. 정식배포는 js로 하고 소스 수정은 min에서 하라는 거죠
저는 자바스크립트에서 대게 체크하는데 그렇지 않은 경우도 있습니다.
php는 서버단 javascript는 클라이언트단 이란 것만 알고 있으면
경우에 따라 잘 판단해서 하시면 문제 없을 거 같습니다.
서버의 자원을 최소화하기위해서 클라이언트 언어인 자바스크립트로 유효성 검사를 먼저 해주고 php 데이터 처리단에서 한번더 유효성검사를 해줘야 합니다.
자바스크립트는 위/변조가 쉽거든요.
이정도 상황이라면 크게 차이는 없어 보이네요.. 단지 구현하시는분의 성격상 깔끔함을 추구 한다면 2번으로 가지 않을까요? ^^;;
방법이 너무 다양해서 ^^
switch ($category )
{
case s1:
  javascript code1
  break; 
default:
  javascript code2
}
스위츠로 한번 해봤습니다.^^
소스의 간결함으로 봤을땐.. 2번인거 같아요..
일반태그의 경우는 1번과 유사하게 사용하겠지만.. 스크립트단이 많이 지저분해질거 같네요.
우연히 지나가다..
<script type="text/javascript">
<? if($category == "s1") { ?>
jascript code1
<? } else { ?>
jascript code2
<? } ?>
</script>

이렇게 그냥 하면 되지 않나요?ㅎ
전체 199,648 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT