отображать информацию в соответствии с зарегистрированным пользователем, проверяя идентификатор employeeID

115
11

Я использую активный каталог для аутентификации пользователя. Теперь я использую приведенный ниже php для хранения Employee_id пользователя, который вошел в систему:

if(isset($data[$i]["employeeid"][0]))
{
$user= $data[$i]["employeeid"][0];
session_start();
$_SESSION['id']=$user;
}

Теперь после аутентификации пользователь переходит к профилю. В профиле я хочу отобразить выбранную информацию на основе пользователя, который вошел в систему.

Поэтому я использую приведенный ниже php для выбора пользователя в соответствии с их employee_id и эхом информации:

<div id="co-workers" class="leadboardcontent" style="display:none">

<div class="leaderboard">
<?php if ( $_SESSION['id'] == '1981')?> {
<ol>
<li>
<mark>
<?php while( $toprow77 = sqlsrv_fetch_array( $stmt7) ) {

echo "<div class='parent-div'><span class='rank'>" . $toprow77['overallRank'] . "</span><span class='name'>" . $toprow77['EmployeeName'] . "</span><span class='points'>" . $toprow77['Total_points_Rewarded'] . "</span></div>";

} ?>
</mark>
</li>

</ol>

} <?php if ( $_SESSION['id'] == '100739')?> {
<ol>
<li>
<mark>
<?php while( $toprow20 = sqlsrv_fetch_array( $stmt20) ) {

echo "<div class='parent-div'><span class='rank'>" . $toprow20['overallRank'] . "</span><span class='name'>" . $toprow20['EmployeeName'] . "</span><span class='points'>" . $toprow20['Total_points_Rewarded'] . "</span></div>";

}?>

</mark>
</li>

</ol>
} <?php if ( $_SESSION['id'] == '603')?> {
<ol>
<li>
<mark>
<?php while( $toprow19 = sqlsrv_fetch_array( $stmt19) ) {

echo "<div class='parent-div'><span class='rank'>" . $toprow19['overallRank'] . "</span><span class='name'>" . $toprow19['EmployeeName'] . "</span><span class='points'>" . $toprow19['Total_points_Rewarded'] . "</span></div>";

}?>

</mark>
</li>

</ol>
}

</div>
</div>

Проблема: когда я запускаю указанный выше PHP, он перекликается со всеми тремя Employee_ids. Он не вводит инструкции if else и не выбирает employee_ID и не отображает информацию только о пользователе, который вошел в систему. Идентификатор пользователя в журнале сохраняется в первом PHP-фрагмент, о котором я упомянул выше.

Я пробовал использовать - if, elseif, else.

спросил(а) 2021-01-19T19:26:51+03:00 3 месяца, 2 недели назад
1
Решение
62

У меня есть решение с использованием операторов switch, которые отлично работают:

<div class="leaderboard">
<?php switch ($_SESSION['id']) {
case "1981":?>
<ol>
<li>
<mark>
<?php while( $toprow77 = sqlsrv_fetch_array( $stmt7) ) {

echo "<div class='parent-div'><span class='rank'>" . $toprow77['overallRank'] . "</span><span class='name'>" . $toprow77['EmployeeName'] . "</span><span class='points'>" . $toprow77['Total_points_Rewarded'] . "</span></div>";

} ?>
</mark>
</li>

</ol>

<?php break;
case "100739" : ?>
<ol>
<li>
<mark>
<?php while( $toprow20 = sqlsrv_fetch_array( $stmt20) ) {

echo "<div class='parent-div'><span class='rank'>" . $toprow20['overallRank'] . "</span><span class='name'>" . $toprow20['EmployeeName'] . "</span><span class='points'>" . $toprow20['Total_points_Rewarded'] . "</span></div>";

}?>

</mark>
</li>

</ol>

<?php
break;

}
?>

</div>

ответил(а) 2021-01-19T19:26:51+03:00 3 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема