p

자바스크립에서 받은 함수를 php로 넘기는 방법..ㅠㅠ

· 2010-11-17 (수) 20:01:32 · 1121 · 6
불당님의 팁 이거 보면서 수정중인데요..마무리해도 값이 비어버리네요..
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=23880


///js소스중///
[code]
// bit.ly api를 이용해서 단축 경로를 생성한다
function get_bitly_g4(tid, bo_table, wr_id) {

// set up default options
wr_url = g4_url + '/bbs/board.php?bo_table=' + bo_table + '&wr_id=' + wr_id;
wr_url_encode = escape(wr_url);

var defaults = {
version: '2.0.1',
login: bitly_id,
apiKey: bitly_key,
history: '0',
longUrl: wr_url_encode
};

// Build the URL to query
var daurl = "http://api.bit.ly/shorten?"
+"version="+defaults.version
+"&longUrl="+defaults.longUrl
+"&login="+defaults.login
+"&apiKey="+defaults.apiKey
+"&history="+defaults.history
+"&format=json&callback=?";

// Utilize the bit.ly API
$.getJSON(daurl, function(data){

var bitly_url = data.results[wr_url].shortUrl;

// Make a good use of short URL - 화면의 url 정보를 업데이트
$(tid).html('<a href='+bitly_url+' target=new>'+bitly_url+'</a>');

url = g4_path +'/' + g4_bbs +'/g4_bitly_update.php';

send = 'bo_table=' + bo_table;
send += '&wr_id=' + wr_id;
send += '&bitly_url=' + bitly_url;

$.ajax({
type: 'POST',
url: url,
data: send,
cache: false,
async: false,
success: function(result) {

result = result.split(',');
msg_num = result[0];

if (msg_num !== '000')
alert('잘못된 접근입니다.\n\n'+result);
}

});

});

};
[/code]



////g4_bitly_update.php의 내용////

[code]
<?
include_once("./_common.php");

sql_query(" update $bo_table set wr_1 = '$bitly_url' where wr_id = '{$wr_id}' ");
?>
[/code]


불당님은 새로 테이블 생성했지만 생성안하고 wr_1에 집어 넣으려고 하거든요..ㅠㅠ
|

댓글 6개

* 웹페이지 구성 : 서버사이드 스크립트와 클라이언트 사이드 스크립트로 구성됨
서버사이드 스크립트(예>php, asp, jsp .. 등등)
클라이언트사이드 스크립트(예>자바스크립트,VB 스크립트 등등)

클라이언트 사이드 스크립트를 서버사이드 스크립트로 보내기 위해서는
페이지 이동을 이용하는 방법을 사용합니다....

* 자바스크립트를 js 파일로 따로 사용하지 않고 php 나 html 파일 안에서 사용하였다면...
php 변수값을 자바스크립트 변수에 대입이 가능합니다...

그러나 자바스크립트를 js 파일에서 호출하여 사용한다면
아작스를 사용해야 합니다.
우선
g4_bitly_update.php에서 sql_query 주석하시고,

update $bo_table set wr_1 = '$bitly_url' where wr_id = '{$wr_id}' 이걸 echo로 찍어보셨나요;
그래서 안나오면 넘기는 페이지에서 post로 넘겼으니.. 혹시 모르니..
해당부분을 아래처럼 바꾸어보세요

wr_1 = '".$_GET['bitly_url']."' where wr_id = '".$_GET['wr_id']."'
그렇게 해서 안되면 이소스는 원래의 소스대로 다시 복구하신후에,

js소스중에, 아래쪽에 type: 'POST', 라는 부분을 type:'GET', 으로 변경해보세요
죄송합니다~ㅠecho로 찍는다는게 무슨 말인지요?
sql구문을 실행하지 않고,
그냥 순수하게 텍스트로 화면에 뿌려줍니다;
아.. 저리 설명하면 오해하실수도..ㅎㅎ

//sql_query(" update $bo_table set wr_1 = '$bitly_url' where wr_id = '{$wr_id}' ");
echo "update $bo_table set wr_1 = '$bitly_url' where wr_id = '{$wr_id}'";

일반적으론 텍스트를 출력하는 용도이지만.. 저렇게 DB실행하는 쿼리에 값이 제대로 들어가고있는지 확인할때도 씁니다^^;
아아;; 그걸 말하시는거구나
bitly_url

만 못잡아오네요..
echo를 view.skin.php 에 인쿨르드 시켜서 wr_1 = '".$_GET['bitly_url']."' where wr_id = '".$_GET['wr_id']."' 로 바꿔서 불렀어요 그런데 ".$_GET['bitly_url']." 이자식이 안불러지네요..

우와...

참고로
js소스에 있는 화면에 뿌려주는 얘는 아주 잘나와요..
$(tid).html('<a href='+bitly_url+' target=new>'+bitly_url+'</a>');
결국 못했지만 도와주셔서 감사합니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
10-11-18 조회 2,631
10-11-18 조회 1,064
10-11-18 조회 1,139
10-11-18 조회 885
10-11-18 조회 938
10-11-17 조회 1,673
10-11-17 조회 1,086
10-11-17 조회 1,070
10-11-17 조회 1,122
10-11-17 조회 1,029
10-11-17 조회 1,059
10-11-17 조회 898
10-11-17 조회 909
10-11-17 조회 1,084
10-11-17 조회 1,631
10-11-17 조회 1,995
10-11-17 조회 877
10-11-17 조회 2,235
10-11-17 조회 1,817
10-11-17 조회 1,630