Как использовать сессии MySQL для хранения и повторного использования данных из конкретного запроса для дополнительных запросов? - PullRequest
0 голосов
/ 17 марта 2011

Я учу себя, как использовать mysql и php для создания простого интерактивного веб-сайта.Это будет только для внутреннего использования, и я не слишком обеспокоен безопасностью.В настоящее время моя база данных состоит из двух таблиц teacher_user и student_user.

Пользователи учителей входят в систему, и я сравниваю то, что они заполняют в онлайн-форме, с тем, что хранится в базе данных.Если они совпадают в базе данных, учитель может перейти на веб-сайт.Основная часть кода php:

$sql="SELECT * FROM teacher_user WHERE username='$username' and password='$password'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
// Register $username, $password and redirect to file "login_success.php"
session_register("username");
session_register("password");
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}

Затем на каждой html-странице у меня есть:

<?
session_start();
if(!session_is_registered(username)){
header("location:main_login.php");
}

Мой вопрос связан с тем, что пользователь учителя и его начальный вход в систему с ихимя пользователя и пароль.Я хотел бы сохранить их имя пользователя на всех страницах веб-сайта и иметь возможность вспомнить их имя пользователя для запросов в таблице student_user.И таблица student_user, и таблица teacher_user содержат имя пользователя учителя.

Я бы хотел запросить таблицу student_user по имени пользователя учителя, чтобы я мог получить результат запроса только тех учеников в классе конкретного учителя.

Я несколько раз пытался сохранить $ username учителя в сеансе ".$_session['username'], и, похоже, не может заставить его отобразить имя пользователя учителя на любой последующей странице в качестве теста.

Isчто я пытаюсь сделать возможным?И если да, у кого-нибудь есть простой пример, которым он мог бы поделиться?

1 Ответ

0 голосов
/ 17 марта 2011

Да, возможно, функция session_register устарела, просто используйте переменные сеанса, как вам угодно, примерно так:

$_SESSION['username'] = $username;

После того, как имя пользователя и пароль были проверены, этона каждой странице, которую вы используете session_start(), ваши переменные будут там.

Редактировать:

Чтобы быть точным,

$_SESSION['username'] = $username; 

входит в

if($count==1){

состояние.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...