Столкнулся с такой проблемой: нужно сделать авторизацию на сайте, на котором большинство переходов на другую страницу осуществляется через флеш. Изначально хотел сделать это через сессии. Но, поскольку переход на другую страницу через флеш, а не через обычную ссылку, то, как я понимаю, при переходе на другую страницу и session_start(); будет просто создаваться новая сессия, а не инициализироваться сессия созданная ранее. Соответственно и доступ к переменным предыдущей сессии будет закрыт. Вопрос собственно, как мне таки инициализировать сессию созданную на другой странице.
Спустя 27 минут, 43 секунды (10.11.2009 - 12:14) Romms написал(а):
Разве есть какая-то разница, каким способом Вы переходите?
Я знаю что только Осёл создаёт новые сессии после каждого перехода по ссылке, и толь тогда если у вас у домене есть символ "_"
Я знаю что только Осёл создаёт новые сессии после каждого перехода по ссылке, и толь тогда если у вас у домене есть символ "_"
Спустя 38 минут, 49 секунд (10.11.2009 - 12:52) Гость_Ace написал(а):
может я неправильно понял суть работы сессий.
Цитата |
После того, как скрипт выполняет свою работу, и страница полностью сформирована, PHP просматривает ее всю и дописывает к каждой ссылке и к каждой форме передачу идентификатора сессии. Это выглядит примерно так: <a href="/index.php">Index</a> превращается в <a href="/index.php?PHPSESSID=9ebca8bd62c830d3e79272b4f585ff8f">Index</a> а к формам добавляется скрытое поле <input type="hidden" name="PHPSESSID" value="00196c1c1a02e4c37ac04f921f4a5eec" /> И браузер при клике на любую ссылку, или при нажатии на кнопку в форме, пошлет в запросе нужную нам переменную - идентификатор сессии! |
Исходя из этого, я делаю вывод, что при переходе на другую страницу с помощью флеш ролика, в котором присутствует свой собственный сценарий. Идентификатор сессии в этом случае передаваться не будет. А значит и получить доступ к сесси которую мы "создавали" на предыдущей странице не будет возможности. Или я где-то ошибаюсь?
Спустя 4 часа, 16 минут, 17 секунд (10.11.2009 - 17:09) jetistyum написал(а):
идентификатор сессии чаще всего хранится в куках и передается прозрачно на сервер с любым запросом. в гет-строку подставляется только если куки отключены.
Спустя 1 месяц, 10 дней, 22 часа, 45 минут, 58 секунд (21.12.2009 - 15:55) Orbit написал(а):
Всем добрых суток)
У меня вот тут проблемка с авторизацией выходит. Есть база, в ней есть аккаунты. В этой базе есть имя, пароль и еще куча всяких данных, но они пока не важны. Вообщем регистрацию написал, это было не сложно. Но для игры нужно шифровать пароль. Запись происходит таким образом:
Вот пароль шифруется, как вы можете видеть) Так а после мне надо авторизироватся, но пароль вытащить уже не могу. Если честно я даже пока незнаю как это выглядет будет. Есть только
Есть идеи как сделать? Если что не написал, скажите)
У меня вот тут проблемка с авторизацией выходит. Есть база, в ней есть аккаунты. В этой базе есть имя, пароль и еще куча всяких данных, но они пока не важны. Вообщем регистрацию написал, это было не сложно. Но для игры нужно шифровать пароль. Запись происходит таким образом:
$result2 = mysql_query ("INSERT INTO account_data (id, name, password, activated, access_level, avatar) VALUES ('', '$login', '".base64_encode(sha1($_POST['password'],true))."', '1', '0', '$avatar')");
Вот пароль шифруется, как вы можете видеть) Так а после мне надо авторизироватся, но пароль вытащить уже не могу. Если честно я даже пока незнаю как это выглядет будет. Есть только
$result = mysql_query("SELECT * FROM account_data WHERE name='$login' AND password='$password'",$db);
Есть идеи как сделать? Если что не написал, скажите)
Спустя 2 часа, 40 минут, 44 секунды (21.12.2009 - 18:35) netruxa написал(а):
при авторизации вам необходимо зашифровать вводимый пароль таким же способом как и при регистрации и искать в БД
Спустя 35 минут, 12 секунд (21.12.2009 - 19:11) twin написал(а):
Ну почитай тут основы
Спустя 45 минут, 26 секунд (21.12.2009 - 19:56) VolCh написал(а):
как-то так
$result = mysql_query("SELECT * FROM account_data WHERE name='$login' AND password='".base64_encode(sha1($password,true))."'",$db);
Спустя 1 час, 45 минут, 33 секунды (21.12.2009 - 21:41) Orbit написал(а):
Вроде срослось) Но как-то не так, регистрирует норм, ввожу авторизироватся у меня ничего не появляется. Меняю напрямую чтобы после авторизации появлялось index2.php - появляется(но из него не могу показать кто зашел(гость,юзер). Вообще должно все отображатся, там есть код
Не показывается...Ничего не понимаю, еще и куки не скидываются...вообщем посмотрите где ошибку может допустил.
_http://dump.ru/file/3987240
print <<<HERE
<!-- Между оператором "print <<<HERE" выводится html код с нужными переменными из php -->
Вы вошли на сайт, как $_SESSION[login] (<a href='exit.php'>выход</a>)<br>";
<!-- выше ссылка на выход из аккаунта -->
<a href='http://212/'>Эта ссылка доступна только зарегистрированным пользователям</a><br>
Ваш аватар:<br>
<img alt='$_SESSION[login]' src='$myrow[avatar]'>
<!-- Выше отображается аватар. Его адрес содержит переменная $myrow[avatar] -->
<!-- Именно здесь можно добавлять формы для отправки комментариев и прочего... -->
HERE;
Не показывается...Ничего не понимаю, еще и куки не скидываются...вообщем посмотрите где ошибку может допустил.
_http://dump.ru/file/3987240