2013-03-31 2 views
0

새 사용자의 전자 메일에 양식을 요청했습니다. cURL 요청을 사용하여 정보 (성, 성, 사무실, 직업 ...)를 얻고 배열 ($full_informations)으로 반환하는 데이 전자 메일을 사용할 수있는 PHP 함수가 있습니다.필드 값이 입력 된 후 php 함수를 실행하십시오.

전자 메일을 입력 한 후이 기능을 실행하려면. 다른 이유로 나는 폼에 코드를 직접 추가 할 수 없으므로 본문이나 헤드의 다른 곳에서 읽을 수 있어야합니다.

내가 자동으로 스크립트에 의해 채워집니다이 분야 가지고 : 같은

$full_informations = get_more_info_from_mail($email) 

그때는 PHP 함수이 필드의 값을 보낼 수 있도록하려면

<input onKeyPress="" class="editingSize " type="text" id="emails" name="emails" size="" value="" maxlength="150"> 

를 I

$firstname = $full_informations['firstname']; 
$lastname = $full_informations['lastname']; 
$job = $full_informations['job']; 
//... 

과 같은 작업을 수행 할 수 있으며 이러한 변수가 내 mysql 데이터베이스에 자동으로 삽입되도록 할 수 있습니다 ut은 사용자에게 양식을 작성하라고 요청합니다 (그 부분을 만드는 방법을 알고 있습니다).

내 질문은 입니다. 사용자가 전자 메일을 입력 한 후 필드의 값을 사용하여 내 함수를 호출하는 방법은 무엇입니까??

아약스 요청이 필요할 것 같지만 전혀 익숙하지 않습니다. jQuery로

+0

no. html/javascript에서 PHP 함수를 호출 할 수 없습니다. ajax 호출을 사용하여 서버 측 PHP 스크립트를 호출해야하며, PHP 스크립트를 호출 할 수있다. –

+0

@MarcB 힌트를 보내 주셔서 감사합니다. 나는 그것을 기억할 것이다. – Wistar

답변

0

:

<script type="text/javascript"> 
$(function() { 
    $('#emails').on('blur',function() { 
     $.post('/path/to/your/php.php', 
     {email: $('#emails').val()}, 
     function(json) { 
      alert('responded with '+json.response); 
     }); 
    }); 
}); 
</script> 

귀하의 PHP 스크립트는 다음과 같아야합니다

<?php 
$email = $_GET['email']; 
// make sure you verify the email is in a correct format. 
// save it to a database 

//if it succeeds: 
echo json_encode(array('response'=>'success')); 

//if it fails: 
echo json_encode(array('response'=>'failure')); 
+0

답변 해 주셔서 감사합니다. 이제 반환 된 결과를 어떻게 참조 할 수 있을지 궁금한가요? 처럼 보이는 php를 사용하기 위해 사용하고 있는데, $ full_informations = get_more_info_from_mail ($ email)' 그때 내 함수를 반환하는'$ full_informations' 배열을 사용할 수 있습니다. 내 PHP 스크립트를 완료하기 위해 반환되는 무엇을 사용할 수 있습니까? 나는 나의 질문이 분명하기를 바랍니다. – Wistar

+0

답변을 업데이트했습니다. –

+0

빠른 업데이트에 감사드립니다. 나는 그것을 시도했지만 그것은 '정의되지 않은 것으로 응답했다'고 경고했다. 왜 이런 일이 일어나는가? – Wistar

0

당신은 MySQL 데이터베이스를 사용하고 있습니다. 이 같은 PHP에이를 수 있습니다

는 페이지의 시작 부분에이를 넣어

<? 
    if (isset($_POST['submit'])) { 
     $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
     $mail = $_POST['mail']; 
     $result = mysql_query("SELECT * FROM users WHERE email = $mail"); 
     $row = mysql_fetch_row($result); 

     $firstName = $row[0]; //FirstName 
     $lastName = $row[1]; //LastName 
     $job =  $row[2]; //Job 
    } 
?> 

당신의 HTML은 다음과 같아야합니다

<form action="" method="POST"> 
    <input type="text" name="mail" /> 
    <input type="submit" value="submit" name="submit" /> 
</form> 

희망이 도움이!

+0

답해 주셔서 감사합니다.제 목적을 위해서 아약스 만이 유일한 방법이라고 생각합니다. 그러나이 솔루션은 다른 서커스에서 잘 작동 할 수 있다고 생각합니다. 공유해 주셔서 감사합니다. – Wistar

관련 문제