В настоящее время работает над страницей управления пользователями, где есть поля имени, имени пользователя, адреса электронной почты и уровня. Все поля, кроме уровня, получены из AD. Мне удалось сделать значения, сохраненные в базе данных. Тем не менее, поле имени принимает вместо имени пользователя и поля электронной почты. Раскрывающийся список отображает имя, но сохраняет имя пользователя и адрес электронной почты.
<th align="right" scope="row">Select User</th>
<td><script type="text/javascript">
var $ = function(e){ return document.getElementById(e); }
var swap = function(val){
var arr = val.split("|");
document.getElementsByName('username')[0].value = arr[0];
document.getElementsByName('email')[0].value = arr[1];
}
</script>
<select name="name" id="name" class="reginput" onchange="swap(this.value)" />
<option value="">Select User</option>
<?php
// Create connection
$con=mysqli_connect("localhost","root","","dbname");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL:" . mysqli_connect_error();
}
//$result = mysqli_query($con, "SELECT name,Id FROM users");
$result = $this->Users_model->queryAD();
$options=$test;
//while ($row=mysqli_fetch_array($result)) {
for ($i=0; $i<$result["count"]; $i++) {
//$options .= '<option value="'.$row["name"].'">'.$row["name"].' '.'</option>';
$options .= '<option value="'.$result[$i]["samaccountname"] [0].'|'.$result[$i]["mail"][0].'">'.$result[$i]["displayname"][0].' '.'</option>';}
$options .= '</select>';echo $options;
Например :
Выберите пользователя: Джейн Доу
Имя пользователя: Джейн
Электронная почта: janed@yahoo.com
Уровень: Admin
Пользователь будет отображаться как Джейн | janed@yahoo.com вместо Джейн Доу, но другие поля в порядке.
Требуется username
а также email
вместо Full name
поскольку value
из option
вы даете это $result[$i]["samaccountname"][0].'|'.$result[$i]["mail"][0]
Измените значение параметра на
$options .= '<option value="'.$result[$i]["displayname"][0].'">'.$result[$i]["displayname"][0].' '.'</option>';
РЕДАКТИРОВАТЬ
Чтобы отобразить имя пользователя и адрес электронной почты, а также сохранить полное имя в БД, используйте это:
$options .= '<option value="'.$result[$i]["displayname"][0].'">"'.$result[$i]["samaccountname"] [0].'|'.$result[$i]["mail"][0].'"</option>';
Других решений пока нет …