1
我有一个Web表单,它收集信息并将其提交给试图将数据插入LDAP的cgi。问题是,我试图使用:: ldap :: add的变量,它只是不工作。下面的代码:通过CGI向LDAP添加对象
if {[string length env(QUERY_STRING)] != 0} {
set handle [::ldap::connect localhost]
set dn "cn=admin,dc=mycompany,dc=com"
set pw "myPassword"
::ldap::bind $handle $dn $pw
set dn "cn=[ncgi::value givenName] [ncgi::value sn],ou=people,dc=mycompany,dc=com"
set formValues [
puts "cn {{[ncgi::value givenName] [ncgi::value sn]}}"
puts "displayName [ncgi::value givenName] [ncgi::value sn]"
foreach {key value} [ncgi::nvlist] {
if {[string length $value] != 0} {
puts "$key $value"
}
}
puts "objectClass top"
puts "objectClass person"
puts "objectClass organizationalPerson"
puts "objectClass inetOrgPerson"
]
::ldap::add $handle $dn {
$formValues
}
ldap::unbind $handle
}
但是,如果我更换$与我想要插入到LDAP中的实际项formValues,他们得到补充就好了。
我是TCL新手,所以如果在这段代码中有一些明显的错误,我不会感到惊讶。
在此先感谢!
非常感谢!我确实计划验证投入;我没有在这个例子中包含这个代码,因为我认为它会消除我试图解决的问题。再次感谢!! – musashiXXX 2010-03-29 13:46:46
我已经做出了更改,但仍然存在一些问题,但是现在我明白我做错了什么。修复代码后,我插入了以下代码行,以查看指令是否正确构建: puts $ formValues 它提供了相应的信息,并且已经彻底检查了它,以确保它处于正确的状态格式,但由于某种原因没有插入条目。我感谢您的帮助! – musashiXXX 2010-03-29 14:46:30
现在无法从描述中知道。尝试在freenode上停止#tcl。有很多知识渊博的人可以帮助解决问题,有些东西更容易通过更直接的互动进行调试...... – 2010-03-29 15:34:15