Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Gooman
10 / 10 / 4
Регистрация: 03.10.2010
Сообщений: 350
1

Вывод разных данных в зависимости от сессии

17.02.2014, 17:45. Просмотров 834. Ответов 4
Метки нет (Все метки)

Нужно, чтобы если пользователь залогинен, то выводилось "Выйти", а если он не залогинен, выводилась форма логина. Все это должно быть на одной странице. На нескольких страницах сделать получается, а вот на одной - нет.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2014, 17:45
Ответы с готовыми решениями:

Как сделать вывод разных данных в зависимости от значения переменной
Здравствуйте. Вообщем у меня есть рабочий скрипт, который получает ответ от...

Вывод данных пользователя из ТЕКУЩЕЙ СЕССИИ кроме email, login НЕ выводится остальное почему?
Братья по разуму! Приветствую вас!!! Я новенький тут. Дело вот в чем. Не...

Вывод данных в зависимости от переменной
Приветствую! Имеется форма: <form action="/but.php method="POST"> .......

Вывод данных в зависимости от пола человека
Привет! помогите решить такую задачу. есть переменная (пола человека) $sex...

Вывод данных на страницу в зависимости от параметров
Привет! Подскажите как мне сделать чтобы если ссылка с параметрами такого вида...

4
Razip
267 / 267 / 109
Регистрация: 22.08.2013
Сообщений: 905
17.02.2014, 18:29 2
Можно взглянуть на то что получилось?
0
Gooman
10 / 10 / 4
Регистрация: 03.10.2010
Сообщений: 350
17.02.2014, 18:32  [ТС] 3
Цитата Сообщение от Razip Посмотреть сообщение
Можно взглянуть на то что получилось?
Ничего не получилось - просто сидел и пытался делать по-разному. Я не понимаю, как можно сделать все, что я описал, на одном файле. Механизм сессий неудобен. Проблема в том, что не понятно, как узнавать, залогинен пользователь или нет.
0
amadey18
91 / 91 / 51
Регистрация: 29.04.2013
Сообщений: 361
17.02.2014, 18:46 4
Цитата Сообщение от Gooman Посмотреть сообщение
Проблема в том, что не понятно, как узнавать, залогинен пользователь или нет.
Разве данные не должны находится в переменной $_SESSION?
попробуйте var_dump этой переменной сделать.
0
Gooman
10 / 10 / 4
Регистрация: 03.10.2010
Сообщений: 350
18.02.2014, 19:37  [ТС] 5
Сейчас попытался написать так, как я думал, должно быть логично. Все равно не работает. Что я делаю не так?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?
session_start();    // создаем новую сессию или восстанавливаем текущую
 
$out = '';
$result = '';
$check = false;
 
// сессия зарегистрирована?
//if (count($_SESSION) > 1)
if (isset($_SESSION['login']) && isset($_SESSION['password']))
{   // да, зарегистрирована
    
    // проверяем правильность данных сессии
    include ('phpScripts/connect.php');
    
    $q = "select login from users where login = '". $_SESSION['login'] ."' and password = '". $_SESSION['password'] ."'; ";
    $res = mysql_query($q);
    $check = false;
    
    if (mysql_num_rows($res) == 1) 
    {
        $check = true;
    }
    mysql_close($dbcnx);
    
    if ($check)
    {
        // вывод ссылки на страницу выхода
        $out = '<a href="logout.php">Выйти</a>';
    }
    else
    {
        $out = 'ошибка';
    }
}
else
{
    // вывод формы логина
    $out = '<form method="post">
        Login: <input type="text" name="login_form"><span style="color:red" id="login_err"></span>
        Password: <input type="password" name="password"><span style="color:red" id="password_err"></span>
        <input type="submit" name="go" value="Go">
    </form>
    <br>
    <div id="links"><a href="register.php">Регистрация</a></div>
    ';
}
 
// была нажата кнопка go?
if (isset($_GET['go']))
{
    // проверяем правильность данных
    include ('phpScripts/connect.php');
    
    $q = "select login from users where login = '". $_GET['login'] ."' and password = '". $_GET['password'] ."'; ";
    $res = mysql_query($q);
    $check = false;
    
    if (mysql_num_rows($res) == 1) 
    {
        $check = true;
    }
    mysql_close($dbcnx);
    
    // регистрируем переменные сессии, если данные совпали
    if ($check)
    {
        $_SESSION['login'] = $_GET['login'];   // регистрируем переменную login
        $_SESSION['password'] = $_GET['password']; // регистрируем переменную passwd
    }
    else
    {
        $result = '<br>Ошибка при входе.';
    }
}
?>
 
 
//...
 
<html>
<body>
<?php 
echo $out; 
echo $result;
?> 
</body>
</html>
Добавлено через 21 минуту
Вроде, работает. Проблема была в том, что при выводе формы для логина я имена перепутал.
0
18.02.2014, 19:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2014, 19:37

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

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

Сессии. Вход с разных браузеров
У меня такая проблема: на сайте можно авторизоваться под разными аккаунтами...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru