PHP Получить ID из логина - PullRequest
       1

PHP Получить ID из логина

1 голос
/ 06 сентября 2011
        if($row['usr'])
        {
            // If everything is OK login

            $_SESSION['usr']=$row['usr'];
            $_SESSION['id'] = $row['id'];
            $id = $_GET['id'];
            $_SESSION['rememberMe'] = $_POST['rememberMe'];

            // Store some data in the session

            setcookie('tzRemember',$_POST['rememberMe']);
        }
        else $err[]='Wrong username and/or password!';
    }

    if($err)
    $_SESSION['msg']['login-err'] = implode('<br />',$err);
    // Save the error messages in the session
    $goHere = 'Location: /index2.php?id=' . $id;
    header($goHere);
    exit;
}

В настоящее время это дает вывод в URL-адресе, например index2.php?id= NOT index2.php?id=105 или любое другое целое число.

Кто-нибудь видит, почему этот ОБНОВЛЕННЫЙ код не работает?

Ответы [ 4 ]

1 голос
/ 06 сентября 2011

Вы устанавливаете значение $id, только если $row['usr'] верно.Переместите строку $id = $_GET['id']; за пределы условного.

Кроме того, если вы используете аналогичный URL для перехода на эту страницу (index1.php?123), тогда $_GET['id'] будет не .Вам нужно назвать параметр (index1.php?id=123).

1 голос
/ 06 сентября 2011

Вы уверены, что $ id даже установлен?Имейте в виду, правильная строка запроса отформатирована как ?key=value, где значение равно $id

0 голосов
/ 06 сентября 2011

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

$_SESSION['usr']=$row['usr'];
$_SESSION['id'] = $row['id'];
$id = $row['id'];

Если вы войдете в систему на основе идентификатора из строки БД, вы можете назначить эту строку как $ id, так и сеанс.(Или еще лучше, даже не используйте $ id, вы можете просто использовать переменную сеанса, которую вы только что заполнили с идентификатором пользователя) ...

0 голосов
/ 06 сентября 2011

Проверьте, установлен ли $ id, он будет установлен, только если текущая страница имеет somepage.php? Id = 1. Вы уверены, что не следует устанавливать идентификатор сеанса?

У меня были некоторые проблемы с присоединением строки в функции заголовка, поэтому попробуйте это:

$go-here = 'Location: /index2.php?id=' . $id;
header($go-here);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...