输入后,使用字段值执行php函数

时间:2013-03-31 19:43:03

标签: php ajax

我有一个表格询问新用户的电子邮件。我有一个php函数可以使用这个电子邮件来获取信息(名字,姓氏,办公室,工作......)使用cURL请求并将其返回到数组($full_informations)。

我希望在输入电子邮件后执行此功能。由于不同的原因,我无法直接将代码添加到我的表单中,所以我需要一些东西可以在正文或头部的其他地方读取。

我得到了一个由脚本自动填充的字段:

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

我希望能够将此字段的值发送到php函数,例如

$full_informations = get_more_info_from_mail($email)

然后我可以做类似

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

并将这些变量自动插入到我的mysql数据库中,而不要求用户填写表单(我知道如何制作该部分)。

所以,我的问题是,如何在用户输入电子邮件后使用字段值调用我的函数

我想我需要一些ajax请求,但我根本不熟悉这些请求。

2 个答案:

答案 0 :(得分:0)

使用jquery:

<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'));

答案 1 :(得分: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>

希望这有帮助!