2010-08-29 3 views
1

Я хочу войти в систему после того, как он зарегистрировался.Зарегистрировать пользователя после регистрации

Итак, вы заходите в форму с методом POST. Теперь я думал о делать это таким образом:

header("index.php?doLogin=Login&user_email=$usr_email&pass=$data[pwd]"); 

Но тогда, когда вы входите в его POST, а не GET,

// Log in 
if (isset($_POST['doLogin']) && $_POST['doLogin'] == 'Login')... 

Так что же мне делать? Может быть, другая идея?

ответ

3

Когда пользователь регистрируется, вы проверяете учетные данные пользователя против БД, а затем сохраняете состояние на сеанс, правильно?

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

+0

Да, я мог бы дублировать то, что у меня есть внутри doLogin, и положить после reg, но я, возможно, думал умным и простым способом .. это более рекомендуется? – Karem

+0

Это гораздо лучшее решение, а затем перенаправление, отправка пароля через get может быть проблемой безопасности, потому что пароль get зарегистрирован в истории браузеров. – jigfox

+2

@Karem: вам не нужно дублировать код внутри doLogin, просто возьмите код входа и поместите его в функцию и вызовите его из разных точек вашего кода, для чего предназначены функции. Чтобы не дублировать какую-либо задачу, определите ее один раз и используйте ее несколько раз. – jigfox

1

Его не очень приятно отправить пароль по URL-адресу. Отправьте его через POST. Вы устанавливаете переменную SESSION в своих функциях входа?

Когда вы устанавливаете переменную SESSION, проще установить одну и ту же переменную сразу после регистрации, а затем перенаправить на index.php.

Смежные вопросы