Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
1 / 1 / 1
Регистрация: 17.05.2011
Сообщений: 46

Авторизация, перенаправление с параметрами

24.02.2014, 22:47. Показов 5097. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте.
имею форму, где пользователь вводит логин и пароль, если все хорошо после проверок всяких (сверка с БД), то необходимо перенаправить пользователя на "его страничку", как реализовать это пренапрваление?, получается мне необходимо перенаправить на новую страницу .php и туда же послать его логин, соответсвенно которому будет формироваться содержимое его страницы.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
           <form action="index.php" name="auth" method="post">                
                <table>
                    <tr>
                        <td>Логин:</td>
                        <td><input name="login" type="text" value="admin"/></td>
                    </tr>
                    <tr>
                        <td>Пароль:</td>
                        <td><input name="pass" type="password" value="12345"/></td>
                    </tr>  
                    <tr>
                        <td>Запомнить пароль:</td>
                        <td><input  name="save" type="checkbox" /></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td><input name="enter" type="submit" value="Войти"/></td>
                    </tr>                     
                </table>
            </form>
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
        if (isset($_POST['enter'])) {
            $login = trim($_POST['login']);
            $password = md5(trim($_POST['pass']));
            if (($login == "") || ($password == "")) {
                echo "<script>alert('Заполните все поля')</script>";
            } else {
                try {
                    mysql_connect("localhost", "root");
                    $db = mysql_select_db("kniga");
                } catch (Exception $ex) {
                    echo 'Ошибка соединения с БД';
                }
                if ($db) {
                    $query = mysql_query("SELECT id FROM users where login = '$login'");
                    if (mysql_fetch_array($query) == false) {
                        echo 'Нет такого пользователя';
                    } else {
                        $query = mysql_query("SELECT password FROM users where login = '$login'");
                        while ($row = mysql_fetch_array($query)) {
                            if ($row['password'] == $password) {
                                echo 'true';
                                //перенаправить на другую страницу с POST параметрами. Как-то так...
                            } else {
                                echo 'Неверный пароль';
                            }
                        }
                    }
                } else {
                    echo 'Ошибка выбора БД';
                }
            }
        }
Заранее благодарен за ответ.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.02.2014, 22:47
Ответы с готовыми решениями:

Авторизация и перенаправление
Приветствую вас форумчане! Подскажите как сделать чтобы после регистрации на сайт происходил переход на другую страницу, а потом на главную...

перенаправление на страницу с которой была авторизация
Привет всем у меня есть авторизация в модальном окне, но там после авторизации пользователь направляется на одну страничку вот так это...

Подпрограммы с типизированными параметрами -значениями и параметрами-переменными
Помогите пожалуйста). С помощью подпрограммы, определяющей принадлежность символа к заданному множеству, установить количество гласных букв...

7
4 / 4 / 4
Регистрация: 18.05.2010
Сообщений: 7
24.02.2014, 23:45
http://docs.php.net/manual/ru/context.http.php
Можно также использовать сессии для передачи данных
0
0 / 0 / 0
Регистрация: 24.02.2014
Сообщений: 15
24.02.2014, 23:54
Насколько я понял вашу задачу, то решение банальное. Вам просто нужно использовать функцию header для ридекта с нужными GET-параметрами. Например:
PHP
1
2
echo true:
    header("Location: index.php?login=".$login);
0
-11 / 8 / 2
Регистрация: 17.10.2013
Сообщений: 66
25.02.2014, 05:11
оригинально.... почему бы еще и пароль по get не отправил
0
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
25.02.2014, 12:01
Цитата Сообщение от EvgenSPB Посмотреть сообщение
PHP
1
2
echo true:
header("Location: index.php?login=".$login);
только нужно убрать echo
0
1 / 1 / 1
Регистрация: 17.05.2011
Сообщений: 46
25.02.2014, 18:12  [ТС]
Всем огромное спасибо, но ничего из этого не подходит.
Если перенаправлять с GET параметрам, то тогда, теоретически, зная точно url, любой может просмотреть личную. страницу авторизаванного пользователя, а это недопустимо... напрашиваются куки, но это уже нагромождение, сами куки ни в коем разе не нагромождение, но все же хочется выяснить есть ли способ проще и правильнее.
Да и на любом сайте я не видел чтобы после страницы авторизации переходил на другую страницу и там светился мой ник.(хотя я возможно что-то не так понимаю то же vk vk.com/username или это совсем не то, ведь любой так может сделать и просматривать, а мне и этого не надо без авторизации)
0
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
25.02.2014, 18:37
Цитата Сообщение от SanYek Посмотреть сообщение
Да и на любом сайте я не видел чтобы после страницы авторизации переходил на другую страницу и там светился мой ник.
На данном сайте зайдите в свой кабинет, тут правда не ник, а ваш id. Но суть остается та же.

Цитата Сообщение от SanYek Посмотреть сообщение
Если перенаправлять с GET параметрам, то тогда, теоретически, зная точно url, любой может просмотреть личную. страницу авторизаванного пользователя,
Проблема не в том что можно посмотреть страницу, а в том что он там увидит и вообще пустит ли его туда. У вас должна быть проверка прав пользователя, для запрашиваемой страницы.
Цитата Сообщение от SanYek Посмотреть сообщение
но это уже нагромождение
Это общая практика.
1
1 / 1 / 1
Регистрация: 17.05.2011
Сообщений: 46
26.02.2014, 11:32  [ТС]
Я покумекал и заговн*кодил, то что хотел.
Выглядит это так:
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
@session_start();
$test = $_SESSION['id'];
if ($test != null) {
    header("Location: http://phonelist.ru/personallist.php");
    exit;
}
if (isset($_POST['enter'])) {
    $login = trim($_POST['login']);
    $password = trim($_POST['pass']);
    if (($login == "") || ($password == "")) {
        echo "<script>alert('Заполните все поля')</script>";
    } else {
        try {
            mysql_connect("localhost", "root");
            $db = mysql_select_db("kniga");
        } catch (Exception $ex) {
            echo 'Ошибка соединения с БД';
        }
        if ($db) {
            $query = mysql_query("SELECT id FROM users where login = '$login'");
            if (mysql_fetch_array($query) == false) {
                echo 'Нет такого пользователя';
            } else {
                $query = mysql_query("SELECT id, password FROM users where login = '$login'");
                $password = md5($password);
                while ($row = mysql_fetch_array($query)) {
                    $id = $row['id'];
                    if ($row['password'] == $password) {
                        $_SESSION['id'] = $id;
                        header("Location: http://phonelist.ru/personallist.php");
                        exit;
                    } else {
                        echo 'Неверный пароль';
                    }
                }
            }
        } else {
            echo 'Ошибка выбора БД';
        }
    }
}
Те использовал сессии для передачи данных.
А на странице http://phonelist.ru/personallist.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
@session_start();
$id = $_SESSION['id'];
if ($id == null) {
    header("Location: http://phonelist.ru/index.php");
    exit;
}
if (isset($_REQUEST['loginout'])) //в DOM есть кнопка "разлогиниться"
    unset($_SESSION['var']);
    session_destroy();
    header("Location: http://phonelist.ru/index.php");
    exit;
}
Тут если прямо перейти на этот url, без авторизации, то кинет на страницу авторизации, тк не найдет сессии(id) для данного клиента.
Если же авторизироваться, то даже при переходе на страницу авторизации - кинет на "свою" страничку (зачем еще раз авторизироваться если уже когда-то авторизировался)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.02.2014, 11:32
Помогаю со студенческими работами здесь

Подпрограммы с типизированными параметрами -значениями и параметрами-переменными
С помощью подпрограммы подсчитать сумму элементов главной диагонали для матриц 4х4 и 5х5 из вещественных чисел. Добавлено через 1...

Реализовать функции с опциональными параметрами и именованными параметрами
Нужно задачу написать, про ref и out ничего пока не знаю, не понимаю их.. Реализовать функции с опциональными параметрами и...

Перенаправление IP
Пример: Прога подключается к айпи 123.234.123.234 . Есть ли такая программа которая перенаправила бы подключение к 123.234.123.234 на...

Перенаправление
Есть пример: http://shiftnotes.wordpress.com/2011/04/08/custom-membership-provider-часть-3/ В нем есть строчка:Для того, чтобы наша...

Перенаправление
Здраствуйте вот у меня есть форма которая отправляет дание в файл на проверку если такой пользователь есть в БД то заходит в профиль как...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru