2013-04-17 5 views
0

저는 prebu/next라는 두 개의 butons를 가지고 있습니다. 이들은 getJSON입니다. 클릭 한 항목이있는 경우 어떤 단추가 있는지 질의를 변경하고 싶습니다. 여기가 GET에서 LoadNumber을 사용하여 다음과 같은 일을하고 싶습니다 내 버튼과 getjson 문에서도어떤 버튼을 클릭했는지 어떻게 알 수 있습니까?

<input class="buttonsr" type="button" onClick="next()" name="NextLoad" value="Next Load"><input class="buttonsr" type="button" onClick="prev()"name="PrevLoad" value="Prev. Load"> 
$.getJSON("loadloads.php", document.getElementById('LoadNumber').value, jsonhandler) 

있습니다.

if isset($_GET['prev']){ 
    $find = 'Where L.$_GET['LoadNumber'] > (max)LoadNumber FROM tblLoads' 
} 
if isset($_GET['next']){ 
    $find = 'Where L.$_GET['LoadNumber'] < (min)LoadNumber FROM tblLoads' 
} 
else{ 
    $find = 'L.LoadNumber = (SELECT MAX(LoadNumber) FROM tblLoads)' 
}; 
+4

코드는 현재 [취약한 상태입니다] (http://xkcd.com/327/). 이벤트 객체 검사와 –

+0

: http://stackoverflow.com/questions/10428562/how-to-get-javascript-event-source-element – elopez

답변

0

동일한 기능을 사용하고 서버에 매개 변수를 전달해야합니다. 서버 측에

<input class="buttonsr" type="button" onClick="page('next')" name="NextLoad" value="Next Load"> 

function page(direction) { 
    $.getJSON("loadloads.php?direction="+direction,document.getElementById('LoadNumber').value,jsonhandler) 
} 

같은 것을, 당신은 다음 또는 이전려고하고 있는지 확인하기 위해 $ _GET [ '방향']를 사용하세요. 난 지점을 놓친 경우이 도움이 희망, 당신은 댓글을 달 수 있습니다)

if ($_GET['direction'] == 'next') { 
    // GO NEXT 
} else { 
    // GO PREV 
} 

그리고 길 "는 isset()"에 의해

는 2 "s"를 걸립니다!

+0

내가 정말 SSSET 싶었다. 나는 이것이 내가 갈 필요가있는 방향이라고 생각하지만 현재는 내 쿼리에서 변수가 실행되지 않는 문제가 있습니다. 네트워크 오류 500 내부 서버 오류가 발생합니다. –

+0

내가 쓴 것을 복사하면 거기에 없어야하는 URL에 공간이 있습니다. 나는 편집했다. 헤더가 올바르게 전송되는지 확인하십시오 (두 브라우저의 f12 모두 콘솔에서 방화 광 또는 크롬 (네트워크)를 사용하여 매개 변수가 올바르게 전송되는지 확인할 수 있음) – Bene

+0

나는 이것이 따옴표와 관련이 있다고 생각합니다. 나는 query = 'select from where'$ var 'orderby'; –

0

당신이이 같은 $ .getJSON의 데이터 매개 변수 객체에 전달해야 다음 슈퍼 세계적인 $ _GET에서 "LoadNumber"에 접근을 원한다면이에 잘못 될 수 있지만, 저는 믿습니다 :

$.getJSON("loadloads.php", { LoadNumber:$('#LoadNumber').val() }, jsonhandler); 
    // NOTE: I used jquery shorthand instead of document.getElementById() to get the value 
    // simply to shorten it up. 

나는 전에 만 $ .getJSON()를 사용하지 않은 문서에서 : http://api.jquery.com/jQuery.getJSON/
는 $ .getJSON는 당신이 객체를 전달 그래서 만약 GET 요청 방법을 사용하여 $ 아약스 단지 속기 것을 말한다 당신이 찾고있는 것의 핵심은 내 생각에 $ .getJSON이 $ _GET에 넣을 것입니다.

또한 Kolkin은이 코드가 SQL 삽입에 취약하다는 점을 감안할 때 필터링하지 않고 $ _GET, $ _POST 또는 $ _REQUEST의 데이터를 SQL 쿼리에 직접 삽입하면 안됩니다. 잠재적으로 코드를 DB에있는 데이터를 지우거나 민감한 데이터에 액세스하여 되돌릴 수있는 악의적 인 주입까지 코드를 열 수 있습니다.

희망이 도움이됩니다.

관련 문제