[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не могу понять что происходит с оперой
Денис777
такая проблема у меня возникла , если зарегестрироваться то через все браузеры авторизация происходит нормально , а вот когда востанавливаешь пароль через E-mail, приходит новый , опять же все браузеры работают нормально , а через оперу пишет неверный логин или пароль в чем может быть причина ?



Спустя 26 минут, 47 секунд (8.07.2012 - 16:15) redreem написал(а):
100% проблема с куками

Спустя 41 минута, 20 секунд (8.07.2012 - 16:56) Денис777 написал(а):
redreem


вот скрипт авториции




<?php
session_start();

$login = (isset($_COOKIE['cLogin'])) ? $_COOKIE['cLogin'] : null;
$password = (isset($_COOKIE['cPass'])) ? $_COOKIE['cPass'] : null;

if ($login == null || $password == null)
{
$login = (isset($_POST['login'])) ? $_POST['login'] : null;
$password = (isset($_POST['password'])) ? $_POST['password'] : null;
}

if ($login == null || $password == null)
{

exit('Вы ввели не всю информацию, вернитесь назад и заполните все поля!');
}

$remember = (isset($_POST['remember'])) ? 1 : 0;

$passFrom = 1;

if (isset($_COOKIE['cPass']))
$passFrom = 2;

$login = trim(strip_tags($login));
$password = trim(strip_tags($password));

$password = ($passFrom == 2) ? $password : md5($password);

include_once './bd.php';

$query = "SELECT * FROM users WHERE `login` = '%s'";
$query = sprintf($query, mysql_real_escape_string($login));
$query = mysql_query($query, $db);
$result = mysql_fetch_assoc($query);

if (!$result)
{

exit("Извините, введённый вами login или пароль неверный.");
}

if ($result['password'] !== $password)
{

exit("Извините, введённый вами login или пароль неверный.");
}

$_SESSION['login'] = $login;
$_SESSION['id'] = $result['id'];

if ($remember)
{
setcookie('cLogin', $login, time()+24*60*60);
setcookie('cPass', $result['password'], time()+24*60*60);
}

header('Location: index2.php');

?>







а вот скрипт на востановление пароля




include './bd.php';


if (isset($_POST['submit'])){
$login = $_POST['login'];
$email = $_POST['email'];

if (empty($login)){
echo '<p class="new8">Введите логин!</p>';
}
elseif (empty($email)){
echo '<p class="new8">Введите e-mail!</p>';
}
else{
$resultat = mysql_query("SELECT * FROM users WHERE login = '$login' AND email = '$email'");
$array = mysql_fetch_array($resultat);
if (empty($array)){
echo '<p class="new8">Ошибка! Такого пользователя не существует</p>';
}
elseif (mysql_num_rows($resultat) > 0){
$chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP";
$max=10;
$size=StrLen($chars)-1;
$password=null;

while($max--) {
$password.=$chars[rand(0,$size)];
}
$newmdPassword = md5($password);
$title = 'Востановления пароля пользователю '.$login.' для сайта FD-Games.ru!';
$letter = 'Вы запросили восстановление пароля для аккаунта '.$login.'
На сайте FD-Games.ru
Ваш новый пароль: '
.$password.'
С уважением админестрация сайта FD-Games.ru'
;
// Отправляем письмо
if (mail($email, $title, $letter, "Content-type:text/plain; Charset=UTF-8\r\n")) {
mysql_query("UPDATE users SET password = '$newmdPassword' WHERE login = '$login' AND email = '$email'");
echo '<p class="new8">Новый пароль отправлен на ваш e-mail!</p>';
}
}
}
}

mysql_close();
?>


Спустя 44 секунды (8.07.2012 - 16:57) Денис777 написал(а):
redreem дело значит не в опере ? с остольных то браузеров все норм проходит

Спустя 18 минут, 48 секунд (8.07.2012 - 17:16) redreem написал(а):
функция setcookie(); довольно капризна. просто проверь как ставятся куки в разных браузерах - убедишься сам. просто одной строчкой не обойтись. для каждого браузера свои нюансы.

Спустя 10 минут, 38 секунд (8.07.2012 - 17:27) Денис777 написал(а):
redreem blink.gif blink.gif blink.gif


Спустя 2 часа, 15 минут, 50 секунд (8.07.2012 - 19:42) killer8080 написал(а):
Денис777
ну и нафига ты в куки пихаешь логин, да еще и с паролем? biggrin.gif

Спустя 38 минут, 13 секунд (8.07.2012 - 20:21) Денис777 написал(а):
killer8080 А как еще если пользователь через некоторое время исчизает , и нужно снова вводить логин и пароль

Спустя 15 минут, 39 секунд (8.07.2012 - 20:36) inpost написал(а):
Денис777
Хеш кидать, а не логин+пароль. Кроме этого аяксом посылать запросы напоминая серверу, что пользователь до сих пор на сайте.

Спустя 3 минуты, 48 секунд (8.07.2012 - 20:40) Денис777 написал(а):
inpost про то что вы говорите , это все я видел на ирбисе , но я не могу понять их уроков из-за МВЦ все запутано , пробывал расспутать не получаеться

Спустя 5 минут, 3 секунды (8.07.2012 - 20:45) inpost написал(а):
Денис777
больше времени надо уделять. Думаешь я сам с первого раза всё понял? Мне, чтобы понять всё на ирбисе пришлось поработать над одним проектом в этом движке. Вот только после этого я стал нормально ориентироваться в ядре и структуре.
Что надо - не просто копи-пастить, а пытаться по этой структуре сделать любой сайт. После того, как сделаешь - всё станет очевидно. И да, и Москва не за день строилась smile.gif

Спустя 4 минуты, 7 секунд (8.07.2012 - 20:49) Денис777 написал(а):
inpost Я и так делаю два разных сайта, с разными функциями если это таковым можно назвать , по каким либо урокам . А вот в МВЦ не могу разобраться из-за этого все встало на ирбисе , там же одинаковых файлов и папок очень много из-за этого путаница еще больше
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.