2012-05-06 4 views
-2

그래서 내가 생각해 낸 아이디어에 큰 오류가 발생했습니다. 그래서 저는 프로젝트에서 일하고 있습니다. 메인 웹 사이트에서 yadayda라는 페이지를 만들 필요가 있었지만 사용자가 이메일을 보내도록하는 기능을 추가하고 싶었습니다.하지만 데이터를받은 후 팝업 대화 상자 보여줄 것입니다. 그러나 이것이 내가 원하는대로 작동하지 않습니다.자바 스크립트 이벤트 (PHP와 혼합)?

내가 도움이 필요한 것은 사실 PHP와 자바 스크립트 이벤트로 메시지와 이메일이 전송되었음을 확인한 후 대화 상자를 표시하는 것입니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까? 또는 적어도 사용자가 버튼을 클릭하는 대신 입력 한 정보와 같은 작업을 한 후에 대화 상자를 표시하는 방법은 무엇일까요? 아무도 내가 어리석게 고맙게 여기는 것을 도울 수 있다면!

답변

5

jQuery를 사용하는 경우 서버 측 스크립트로 AJAX 호출을하고 success 콜백을 사용하여 클라이언트 측에서 대화 상자를 시작할 수 있습니다. 여기

$.ajax({ 
    url: 'ajax/test.php', 
    data: { name: "WeLikeThePandaz", email: "[email protected]" }, 
    success: function(response) { 
    if (response.status == "OK"){ 
     // Show dialog 
    }else{ 
     // Let the user know there were errors 
     alert(response.error); 
    } 
    } 
},'json'); 

$.ajax 방법을 사용하기위한 관련 문서입니다 -

http://api.jquery.com/jQuery.ajax/


후 전송 된 데이터를 해독하고 JSON 개체를 조합 할 수 있습니다 ajax/test.php에서 서버 측 PHP 코드 jQuery로 돌아 가기 -

<?php 
$err= ''; 
$name = sanitizeString($_POST['name']); 
$email = sanitizeString($_POST['email']); 
// note the sanitization of the strings before we insert them - always make sure 
// to sanitize your data before insertion into your database. 

// Insert data into database. 
$result = mysql_query('INSERT INTO `user_table` VALUES...'); 
if (!$result) { 
    $status = "FAIL"; 
    $err = mysql_error(); 
}else{ 
    $status = "OK"; 
} 

echo json_encode(array('error'=>$err,'status'=>$status)); // send the response 
exit(); 

?> 
+0

단 하나의 Freaking! 나는 javascript 요소 마녀에 PHP 코드를 넣어 기능을 호출하는 자바 스크립트를 사용해야하는 경우 붙어 있었어요, 또는 모달 div입니다, 나도 여전히 CSS div를 아약스로 사용할 수 있습니까? – gitmarko

+0

나는 당신이 무엇을 요구하고 있는지 이해하지 못합니다. 클라이언트 측에 PHP 코드를 넣을 수 없습니다. 자바 스크립트는 PHP 스크립트를 실행하기 위해 호출하고 스크립트는 자바 스크립트 요청에 응답합니다. HTML 연결은이 단계에서 부적합합니다. PHP 스크립트에서 응답을 받으면 JavaScript가 응답 (성공 또는 오류)에 따라 HTML을 업데이트하도록 알릴 수 있습니다. – Lix

+0

그래, 그게 그립을 얻었지만 내가 할 수있는 것은 ' 사용자가 실패했거나 성공했는지 여부에 따라 대화 상자를 실제로 표시하는 방법을 알아 내고 공개 대화 상자를 사용하여 자신의 자바 스크립트를 제공하므로 특정 이벤트가 발생한 후에 대화 상자가 표시됩니다. – gitmarko