Доброго дня. Пишу код который должен заполнять данные из LDAP. Хочу все делать по средствам функций. Как передать элемент формы в PHP и в функцию для заполнения. Выведу свой код. Код (PHP): <html> <body> <?php function load_data_LDAP($LDAPestablish) { $usersDN = 'OU=Accounts,DC=rb,DC=local'; $ldap_base_dn = 'OU=организашион_юнит,DC=имя,DC=имя'; $search_filter = '(&(objectCategory=person))'; $result = ldap_search($LDAPestablish, $usersDN, $search_filter, array("*")); $entries = ldap_get_entries($LDAPestablish, $result); //передаем полученные данные в переменную echo "<br>"; //на след. строку for ($x=0; $x<$entries['count']; $x++) { $full_name = array_key_exists('displayname', $entries[$x]) ? trim($entries[$x]['displayname'][0]) : '' ; echo "здесь хотел бы заполнять форму select элементами"; //создаем элемент списка } echo 'Процедура выполнилась.!'; } if( isset($_POST['loadLDAP'])) { load_data_LDAP($LDAPestablish); echo 'Кнопка нажата!'; } ?> <form method= "POST"> <select size= 10 multiple name="usersLDAP"> <option disabled>Выберите пользователей</option> </select> <br> <input type = "submit" name = "loadLDAP" value = "Загрузить LDAP"> </form> </body> </html>
в форме не надо между названием и значение ставить пробелы, т.е. пиши: Код (PHP): type="submit" name="loadLDAP" value="Загрузить LDAP" после нажатия кнопки у тебя все данные попадают в массив $_POST, там и ищи, в помощь функция var_dump Код (PHP): var_dump($_POST);
честно не понял как это работает. По другому зайду, логично ли работать так с объектами формы через РНР или же лучше для добавления/удаления/перемещния данных в объектах использовать JS ?
ты что хочешь? без перегрузки страницы вызвать функцию? так такое не возможно одним только РНР, тут надо использовать JS + РНР, передавать данные через AJAX.
Вот так правильно? я попробовал вставить JS в функцию PHP , но не работает. Код (PHP): <html> <body> <?php function load_data_LDAP($LDAPestablish) { $usersDN = 'OU=Accounts,DC=rb,DC=local'; $ldap_base_dn = 'OU=организашион_юнит,DC=имя,DC=имя'; $search_filter = '(&(objectCategory=person))'; $result = ldap_search($LDAPestablish, $usersDN, $search_filter, array("*")); $entries = ldap_get_entries($LDAPestablish, $result); //передаем полученные данные в переменную echo "<br>"; //на след. строку for ($x=0; $x<$entries['count']; $x++) { $full_name = array_key_exists('displayname', $entries[$x]) ? trim($entries[$x]['displayname'][0]) : '' ; echo "<script type=\"text/javscript\">"; echo "var $objSel =document.getElementById(\"usersLDAP\")"; echo "addOption($objSel, $full_name, $full_name, true)"; echo "</script>"; } echo 'Функция отработала!'; if( isset($_POST['loadLDAP'])) { load_data_LDAP($LDAPestablish); echo 'Кнопка нажата!'; } ?> <form method= "POST"> <select size= 10 multiple name="usersLDAP"> <option disabled>Выберите пользователей</option> </select> <br> <input type = "submit" name = "loadLDAP" value = "Загрузить LDAP"> </form> </body> </html>
FIL23 http://phpfaq.ru/newbie/na_tanke https://secure.php.net/manual/ru/tutorial.forms.php https://secure.php.net/manual/ru/language.variables.external.php