2015-04-05 3 views
-1

Добрый вечер, я сейчас работаю на веб-сайте, где есть два студента и администраторов. Я пытаюсь, чтобы админы имели возможность просматривать страницу подробных сведений о конкретном ученике.Двойная сессия PHP-проблема

У меня возникают трудности при одновременном запуске двух сеансов (один из них будет регистрироваться администратором, а два будут «выбранным идентификатором ученика», который будет сохранен при выборе из раскрывающегося списка: и будет перенаправлен на страницу «Подробности». Здесь информация о студенте будет заполнена.). Любые идеи в надлежащий способ сделать это были бы весьма признательны.

(я в настоящее время думает о добавлении таблицы в моей SQL и с его заселена admin_id как FK student_id как FK и AD_Select_ID первичный ключ)

я надеюсь, что есть более простой способ. пожалуйста, порекомендуйте.

спасибо

Получить имя администратора

если (Исеть ($ _ SESSION [ 'имя пользователя']) & & Исеть ($ _ SESSION [ 'ad_loggedin'])) {

$q_auser = "SELECT fName FROM admins WHERE a_id = '$_SESSION[a_id]'"; 

$r_auser = mysqli_query($dbc, $q_auser); 

$auser_data = mysqli_fetch_assoc($r_auser); 

}

Получить данные пользователя

$q_users = "SELECT s_id, fName, lName, dob, email, gender, classification FROM students ORDER BY s_id ASC"; 
$r_users = mysqli_query($dbc, $q_users); 
$user_data = mysqli_fetch_assoc($r_users); 

Собирают Student ID & редирект Вид профиля

если ($ _ SERVER [ 'REQUEST_METHOD'] == "POST" & & Исеть ($ _ POST [ 'Профиль'])) {

#no profile selected 
if($_POST['user'] == "0") { 

    header('Location: index.php'); 

} else { 

    $_SESSION['st_id'] = $_POST['user']; 
    header('Location: profile.php'); 


}  

}

тело после заявление:

 <label for="users"><h4>Select A User:</h4></label> 

      <select name="user" class="form-control" id="user" style="width:40%;"> 
       <option value="0"> </option> 
       <?php 
       while ($user_data = mysqli_fetch_array($r_users)) { 
        echo '<option value="'.$user_data["id"].'">' .$user_data["s_id"]. " -> " .$user_data["lName"]. ", ".$user_data["fName"]. '</option>';     
       } 
       ?> 


      </select> 

      <br /> 

      <button type="submit" class="btn btn-primary" name="profile">View Profile</button> 
+0

Если вам нужно сохранить данные нескольких пользователей и сохранить их, используйте подмассиву в сеансе, поэтому даже один пользователь будет иметь массив в сеансе, администратор будет иметь несколько (более одного) и будет использовать «текущий» или «переключенный». – user1954544

ответ

0

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

+0

Благодарим вас за ответ. Я скопирую как код «выбора» эмулируемого пользователя, так и вытягивание данных. пожалуйста, дайте мне знать, если вы можете помочь. Я полностью застрял. – xorn956

+0

редактирование главный вопрос – xorn956

Смежные вопросы