2011-05-13 6 views
-1

라이트 박스 (fancybox)에 양식이 있습니다. 데이터베이스에 대한 업데이트를 실행하려면 ajax를 사용하려고합니다. 하지만 왜 작동하지 않는지 모르겠습니다. 아래 코드는 라이트 박스에있는 것입니다 : 내가 확인 버튼을 클릭하면php, jQuery, Lightbox, Ajax GET 및 POST 문제

header("content-type:text/js"); 

if(isset($_GET['timezones'])){ 

$queryupdatetimezone="UPDATE `Profiles` SET `TimeZone` ='".$_GET['timezones']."' WHERE 
ID=".(int)$_COOKIE['memberID']; 

$resultupdatetimezone=mysql_query($queryupdatetimezone) or die("Errore update default timezones: ".mysql_error()); 

    exit; 

}else{ 

?>alert ('An error occured');<? 

} 
?> 

모든 것이 잘 보인다

<div id="timezonelightbox"> 

<div class="lightboxtitle">Select Time Zone</div> 

<form method="get" action="" > 

<select name="timezones" id="timezones" class="selecttimezones"> 

<option value="Africa/Abidjan ">Africa/Abidjan </option> 

<option value="Africa/Accra  ">Africa/Accra </option> 

<option value="Africa/Addis_Ababa ">Africa/Addis_Ababa </option> 

<option value="Africa/Algiers ">Africa/Algiers </option> 

<option value="Africa/Asmara">Africa/Asmara</option> 

</select> 

<input type="button" id="confirmtimezone" class="confirmtimezone" value="Confirm now" 
onclick="updateTimeZone(); $.fancybox.close();"> 
</form> 

</div> 

<script type="text/javascript"> 

     function updateTimeZone(){ 

       $.getScript('<?echo $site["url"];?>/updateTimeZone.php?timezones=<?echo $_GET["timezones"]?>'); 

} 

     </script> 

이 내가 호출 된 파일에있는 것입니다. 오류 없음. 그러나 데이터베이스를 보면 빈 문자열이 저장됩니다. $ _GET [ '시간대']가 비어 있습니다. 어떻게 가능합니까? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

여기에 코드를 작성하십시오 : multiline : 각 행에 최소한 4 칸을 넣으십시오. 인라인 코드의 경우 코드를'='test'로 묶으십시오 –

+0

와우, 오늘의 질문이 아닙니다 – Starx

+0

@DiegoP, 오른쪽에 질문을 제기하는 동안 또는 편집 질문은 효과적인 질문 작성에 관한 정보입니다. – Starx

답변

0

빈 문자열을 전송하기 때문에 emtry 문자열입니다. 당신은 아마이 같은이에 원하는 시간대 제공하는 것을 잊었다

$.getScript('/updateTimeZone.php?timezones='); 

: 당신이 게시 된이 라인 봐 ...

$.getScript('/updateTimeZone.php?timezones=THE_TIMEZONE'); 

는 설정하고자하는 시간대와 THE_TIMEZONE 교체를

+0

죄송하지만 문제는 아닙니다. 선택 상자의 값이 있습니다. 코드가 잘못되어 정상적으로 작동하지 않습니다. 나는 경험 많은 프로그래머가 아니며 코드를 가지고 놀고있다. 나는 언젠가는 가장 어려운 일들을 알고 있으며, 다른 어떤 때는 가장 단순한 것을 모른다. 이것은 내 문제입니다. 고마워요 –

+0

@Diego : 문제는 서버가 페이지를 렌더링 할 때 시간대 값을 생성한다는 것입니다. 사용자가 선택한 값은 _ignored_입니다. 상황을 분석하고 코드의 어느 부분이 서버가 페이지를 보내거나 사용자가 상호 작용할 때 실행되는지 생각하십시오. – Arsen7