Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从LDAP获取用户名?_Php_Javascript_Jquery - Fatal编程技术网

Php 如何从LDAP获取用户名?

Php 如何从LDAP获取用户名?,php,javascript,jquery,Php,Javascript,Jquery,我想问你,我怎样才能从ldap中直接获取用户名。如下所示,我输入了用户名“smith2” $_SERVER["REMOTE_USER"] = 'smith2'; $param = $_SERVER["REMOTE_USER"] 我可以知道他的名字,像这样: $ldap1 = new ldapl; $fname=$ldap1->getFname($param); 这很有用,因为我有一些表单,其中包含一些默认填写的字段(姓名、名字等) 它必须是动态的。每个人都有一台电脑,所以Y

我想问你,我怎样才能从ldap中直接获取用户名。如下所示,我输入了用户名“smith2”

$_SERVER["REMOTE_USER"] = 'smith2';
$param = $_SERVER["REMOTE_USER"]
我可以知道他的名字,像这样:

   $ldap1 = new ldapl;
   $fname=$ldap1->getFname($param);
这很有用,因为我有一些表单,其中包含一些默认填写的字段(姓名、名字等)

它必须是动态的。每个人都有一台电脑,所以Y应该看到他的名字、名字等,X应该看到他的名字、名字等

但我不知道如何通过友好方式获取用户名。你能给我解释一下吗


谢谢

您可以通过AJAX调用请求用户名:

var remote_user = '';
$.get('path/to/server-side.php', function (response) {
    remote_user = response;
    /*you can populate your forms with information returned from your PHP script*/
});
此代码将从PHP脚本请求信息。您的PHP脚本可以只输出
$\u SERVER['REMOTE\u USER']
,这将是AJAX回调中的
response
变量

PHP脚本和JavaScript之间通信的一个好方法是使用PHP函数
json\u encode()
输出服务器响应。然后使用jQuery方法
$.getJSON()
,它将自动将响应解析为可以迭代的JavaScript对象

$.get()的文档


json\u encode()

Javascript的文档在这里对您没有帮助。@jrummell,但我认为jQuery真的很棒,可以做所有事情吗?我知道我在某个地方读到过这篇文章。这对于客户端脚本编写来说很好,但是LDAP需要服务器端代码,在您的例子中是php。除非“动态地”您指的是“ajax”,否则您可以使用jQuery调用php脚本来获取LDAP信息,如@Jasper所回答。您好,谢谢您的回答。我有一个包含ldapconn、user和pass的inc.php文件来连接ldap。我有另一个文件class.php,其中包含所有函数getName($username)、getFname($username)等。我可以使用您的解决方案吗?当然可以。让JavaScript AJAX调用包含
class.PHP
inc.PHP
的PHP脚本,并使用
getName()
/
getFname()
函数。在这个PHP文件中,输出这些函数的结果,无论输出什么,JavaScript中的响应都是什么。我建议使用echo json_encode(数组('fname'=>getFname(),'lname'=>getName());您的输出将是这样的:
{“fname”:“lname”:“}
,您可以像这样访问Javascript中的数据:
response.fname
response.lname
。同时将
$.get()
更改为
$.getJSON()
,以便解析您的JSON。非常感谢您的回答。我试着按照你在主要帖子回答中所说的去做,但我不明白“这段代码将从PHP脚本中请求信息。你的PHP脚本可以只输出$\u SERVER['REMOTE\u USER'],这将是AJAX回调中的响应变量。”我应该使用jquery吗?你能给我举个小例子吗?或者你知道一些例子的链接吗?非常感谢。