CI 묻고 답하기

제목 제 눈에는 에러가 잘 안보이네요...
글쓴이 헛발이 작성시각 2013/07/30 10:08:09
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 18000   RSS

제 눈에는 에러가 잘 안보이네요...

폼검증으로 넘어온 에러값을 $a변수에 넣었습니다.
그걸 화면에 찍어 보면 <p>이름을 입력해주세요</p> 라고 찍힙니다.

당연한죠...

그걸 자바스크립트에서 확인 해 보려고
alert(<?php eho $a ?>); 해 봤는데요...

에러가 나서....

alert("<?php eho $a ?>");
이렇게 따옴표를 넣어 봤습니다..

그래도 같은 에러가 나네요...
에러는 다음과 같이 나옵니다...

------------------------------------------------------
SyntaxError: unterminated string literal
[Break On This Error]    
alert("<p>이름을 입력해주세요</p>
setting (line 81, col 26)
------------------------------------------------------   

에러를 가르키는 곳은 첫번째 쌍따옴표를 가르키네요..


그래서 직접 넣어 봤습니다.
alert("<p>이름을 입력해주세요</p>");
이렇게 직접 넣으면 에러가 안나고 정상작동하네요..


그래서 테그가 있어서 그런가 하고 ..

<?php eho strip_tags($a) ?>
alert("<?php eho $a ?>");

이렇게 해서 테그를 없애도 같은 에러가 나네요..
왜 직접 쓰면 괜찮고 변수에 넣어서 출력하니 에러가 나는지
에러를 못찾겠네요..

ㅡ.ㅡ;;
 다음글 enterprisedb 사용법 문의 (4)
 이전글 array 관련 질문 드립니다... (3)

댓글

전상민 / 2013/07/30 10:12:04 / 추천 0
"echo"를  "eho" 로 쓰셔서 그런거 아닐까요?
헛발이 / 2013/07/30 10:38:40 / 추천 0
아! 죄송해요~ 그건 제가 여기에 작성할때 오타 난거네요..
그 문제는 아닌거 같구요~

<?php $a = "<p>이름을 입력해주세요</p>"; ?>
alert("<?php echo $a ?>");

이렇게 하면 에러가 발생안하네요...

근데 ...폼검증으로 받은 값을 넣으면..

<?php $a = $error ?>
alert("<?php echo $a ?>");

이렇게 하면 에러가 발생하구요~

그래서 $error이걸 화면에 그냥 찍어보면 ..

<?php echo $error; ?>

하면 그냥 화면엔 <p>이름을 입력해주세요</p> 이것만 찍히구요~
소스보기로 봐도...

alert("<p>이름을 입력해주세요</p>");

이렇게 찍히는데 동작은 안 합니다..
ㅡ.ㅡ;;

왜일까여?


니삼 / 2013/07/30 11:04:01 / 추천 0
한대승(불의회상) / 2013/07/30 11:15:24 / 추천 0
white space가 들어가 있는 경우 그런 경험이 있습니다.
javascript가 아닌 php로 해결하고 싶다면..

http://php.net/manual/en/function.trim.php
헛발이 / 2013/07/30 11:19:42 / 추천 0
답변 주신분들 감사합니다..
역시나 폼검증에서 자동으로 생긴 생긴 줄바끔으로 인해 자바스크립트의 1행이 완성되지 못한채 개행되는 문제였군요...
해결 되었습니다.. 감사합니다..

<?php $a = str_replace(array("\r", "\n"), array('', ''), $error) ?>
alert("<?php echo $a ?>");