채택완료

$_get 넘길때 질문입니다.

2015-08-16 (일) 19:15:14 2,448

var aaa = "<a href=\"javascript:select('" + name + "')\" >선택</a>"; 

저런형태로 $_get['name']; 값을 넘기는데요..

문제가...name 쪽에 들어가는 내용에 ' 가 있을때..(예: bear's ) 

('bear's') 이렇게 되버려서 구문자체가 완성이 안되고 없는 값으로 나오는데요..

이렇때는 어떻게 해야 하나요? ^^;;;

|

답변 3개 / 댓글 6개

채택된 답변
+20 포인트
2015-08-17 (월) 10:21:23

var aaa = "<a href=\"javascript:select('" + name.replace(/'/g, "\\'") + "')\" >선택</a>";

replace로 치환해 보시는 것도 괜찮을 것 같네요.

답변에 대한 댓글 4개

답변 감사합니다. 조언해 주신대로 해보니..다음과 같이 값이 넘어옵니다.
bear\'s << 처럼 \ 이 하나가 생기는데요..ㅜ
값 넘기시는 거 아닌가요?
넘길 때 저렇게 해서 넘겼으면 받는 페이지에서 해당 변수에 있는 값에서 \ 붙은 걸 다시 제거해 주셔야죠.
아 받는쪽에서 다시 제거해 줘야 하는군요..
제가 잘 몰라서..^^;;
받는쪽 $_GET['team'] 에서 제거는 어떻게 해야 하는지...부탁좀 드려도 될까요.^^;;
$team = str_replace('\\','',$_GET['team']); 이렇게 하면 되는군요..감사합니다. ^^

Copy
var aaa = "<a href=\"javascript:select('" + encodeURIComponent(name) + "')\" >선택</a>";


인코딩을 한번 해주면 정상적으로 넘어갈 것 같습니다.

답변에 대한 댓글 1개

답변 감사합니다. 윗분과 같이 저는 적용이 안되네요..^^
2015-08-16 (일) 19:44:11
$name=addslashes($_get['name']);
하시면 슬래시가 붙어줘서 완성이 됩니다.

답변에 대한 댓글 1개

답변 감사합니다. 근데 저는 적용이 안되네요..^^

답변을 작성하려면 로그인이 필요합니다.