X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Не получается сделать переход в личный кабинет
F1reSk1LL
F1reSk1LL
Topic Starter сообщение 26.9.2014, 22:37; Ответить: F1reSk1LL
Сообщение #1


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

Вот коды php.
Сам скрипт авторизации:
[PHP]<?php
session_start();
include ($_SERVER['DOCUMENT_ROOT']."/connectdb.php");

if(isset($_POST['login']) && isset($_POST['pass'])){
$login = mysql_real_escape_string(htmlspecialchars($_POST['login']));
$pass = (trim($_POST['pass']));

$result = "SELECT * FROM users WHERE login='$login' AND pass='$pass' LIMIT 1";
$sql = mysql_query($result) or die(mysql_error());

if (mysql_num_rows($sql) == 1) {
$row = mysql_fetch_assoc($sql);
echo "Вход... Пожалуйста подождите.";
$_SESSION[$row[login]] = 1;
$bu = "/user.php?id=".$row[id];
echo "Нажмите <a href='$bu'>сюда</a>, если ваш браузер не поддерживает автоматическую переадресацию.";
echo "<script language='Javascript'><!--
function reload() {location = \"$bu\"}; setTimeout('reload()', 1000);
//--></script>";
} else echo "Все плохо";
}
?>[/PHP]
Скрипт личного кабинета:
[PHP]<?php
session_start();
$id=intval($_GET["id"]);
include ($_SERVER['DOCUMENT_ROOT']."/connectdb.php");

$result = mysql_query("SELECT * FROM users WHERE id=".$id);
$row = mysql_fetch_array($result);

if($_SESSION[$row[login]]){
echo "Hello, ".$row[login];

echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

echo "<form method='post' action=''>
<input type=submit name='logout' value='Выйти'>
</form>
";
echo "<a href='/'>Главная</a>";
if (isset($_POST["logout"])) {
unset($_SESSION[$row[login]]);

$bu="/";
echo "<script language='Javascript'><!--
function reload() {location = \"$bu\"}; setTimeout('reload()', 1);
//--></script>";
}
} else echo "Вы не авторизованы!";
?>[/PHP]
И вывод ссылки на лк, либо формы. В нем-то и заключается проблема:
[PHP]<?php
session_start();
include ($_SERVER['DOCUMENT_ROOT']."/connectdb.php");
$result = mysql_query("SELECT * FROM users");
$row = mysql_fetch_array($result);

if($_SESSION[$row[login]]){
echo "Вы уже вошли<br>";
echo "<a href=/user.php?id=".$row[id].">Личный кабинет</a>";
} else {
echo "
<form method='post' action='/login.php'>
<input type='text' name='login' placeholder='Введите логин' required>
<br>
<input type='password' name='pass' placeholder='Введите пароль' required>
<br>
<input type='submit' name='submit' value='Войти'>
</form>
";
}
?>[/PHP]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
buisnesmen
buisnesmen
сообщение 28.9.2014, 20:01; Ответить: buisnesmen
Сообщение #2


Ну так if($_SESSION[$row[login]]){ - это что?
Должно быть $_SESSION['login'] = $row[login];
if($_SESSION[login]){
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
F1reSk1LL
F1reSk1LL
Topic Starter сообщение 28.9.2014, 20:49; Ответить: F1reSk1LL
Сообщение #3


Уже пробовал это. Тогда получается, что можно зайти на любой аккаунт, просто введя свои логин и пароль, и тем самым активируя сессию.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Не получается оплатить YouTube Premium (для Турции и Аргентины по VPN YouTube Premium недоступна)
3 rownong27 533 20.3.2024, 21:39
автор: MisterBit
Открытая тема (нет новых ответов) Нужно сделать репост статей в соц сети
1 HavingingWorld 2479 27.2.2024, 2:15
автор: AndrePro
Открытая тема (нет новых ответов) Сделать дорвей
0 tok24ua 933 28.8.2023, 20:59
автор: tok24ua
Открытая тема (нет новых ответов) Сделать правки на html-странице
5 TABAK 2303 20.5.2023, 10:45
автор: EvilGomel
Открытая тема (нет новых ответов) Сколько стоит сделать шаблон для WP?
изучаю цены
3 Palundra 2402 2.4.2022, 3:06
автор: WebSuccessful


 



RSS Текстовая версия Сейчас: 20.4.2024, 4:40
Дизайн