идея такая: пользователь логинится, в сессии запоминается его id, соответствующий id в базе данных, после логина юзер может переходить в разные разделы, где ему будет выводиться информация, релевантная для этого конкретного залогиненного юзера. пароли и логины хранятся в базе
вот мои попытки.
страница логина
<?php
if (session_status() === PHP_SESSION_ACTIVE) {
session_unset();
session_destroy();
}
session_start();
$host="localhost";//server
$dbName="rooftop_vol1";
$login="mysql";
$pswrd="mysql";
$connect = mysql_connect("$host","$login","$pswrd");
mysql_query("SET NAMES 'utf-8'");
if (isset ($_POST['loginbtn'])){ //if exists loginbutton then
$login = $_POST['login']; //$login equals value from inputbox 'login'
$password = $_POST['passinput'];//and password the same way
}
$query_string = "SELECT * from users WHERE login = '".$login."'";
$query = mysql_query($query_string);
$myrow = mysql_fetch_array($query);//search in query results, returns array or FALSE
$qu2 = mysql_query("SELECT user_id from users WHERE login = '".$login."'");//find user's id
$id = mysql_fetch_array($qu2); //get user's id
$_SESSION['iduser'] = $id; //id goes to session for current user
if ($login == $myrow['login']){ //equality of inputed data and data from db
if ($password == $myrow['password']){
header("Location: menu.php");
}
страница, на которой должно выводиться что-то для залогиненного юзера
<?php
session_start();
$host="localhost";//server
$dbName="rooftop_vol1";
$login="mysql";
$pswrd="mysql";
$connect = mysql_connect("$host","$login","$pswrd");
mysql_select_db("$dbName",$connect);
mysql_query("SET NAMES 'utf-8'");
$v = "SELECT prod_name FROM users_and_prod WHERE user_id = ".$_SESSION['iduser']."";
$resultt = mysql_query($v) or die(mysql_error());
while ($row = mysql_fetch_array($resultt)){
echo "Имя: ".$row['username'];
echo "Модель изделия: ".$row['prod_name'];
}
?>
в итоге получаю ошибку:
Unknown column 'Array' in 'where clause'
предупреждаю возможный вопрос "почему ты в каждой странице подключаешь базу по-новой, вместо того, чтоб сделать include"config.php", где все то же самое можно было бы сделать один раз?"
у меня был конфиг.пхп, но почему-то не все страницы видят базу с его помощью. исправив несколько раз подобные баги копипастой всех настроек прямо в код, я решила делать так до тех пор, пока красивый код не останется единственной проблемой этого проекта (о, как я жду, когда наступят эти времена!)
в общем, резюмирую: как сделать вывод данных из базы, заточенный на авторизированного в данный момент юзера? можно ли вообще это сделать таким способом?
очень надеюсь на помощь, заранее спасибо!