[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка в авторизации пользоватеей
gdv
Проблема в том, что когда на сайт заходит гость, добавляет в козину товары, а потом нажимает на "оформить заказ", ему предлагается войти или зарегистрироваться. В случае с новым пользователем процедура регистрации а потом оформление товара проходит гладко. Но если человек уже покупал и имеет логин и пароль, то при нажатии на "оформить заказ" он вводит свои логин и пароль, видит сообщение что заявка отправлена и с ним свяжутся. А я в своей админке вижу заказ с пустыми данными о покупателе. такое чувство, что отчёт о покупке формируется раньше чем покупатель войдёт на сайт. Если посмотреть на то куда идёт "оформить заказ",то мы видим :
echo "<br /><center><a href=\"cart.php?do=purchase\"><b>Оформить заказ</b></a></center><br />"; else echo "<br /><center><b>В корзине нет товаров</b></center><br />";


А сам purchase ним имеет такой вид:

case "purchase":
$userid = cookieread(0);

if ($_POST['user_name'] && $_POST['pass']) {
$result = mysql_query("SELECT id, login, password FROM user WHERE login='".addslashes($_POST['user_name'])."' LIMIT 1");
if(mysql_num_rows($result)==0) {
head("Вход в личный кабинет");
form_blocks("user", "left");
before_center();
topblock("search_legk_shina");
echo "<br>";
title("Вход в личный кабинет");
echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"98%\"><tr><td><center><font color=\"red\" size=\"+1\"><b>Такого пользователя не существует</b></font><br><br><a href=\"cart.php?do=purchase\">Вернуться назад</a></center></td></tr></table>";
after_center();
form_blocks("user", "right");
foot();
die();
} else {
list($id, $login, $password) = mysql_fetch_array($result);
if ($password != md5($pass)) {
head("Opshina - Вход в личный кабинет");
form_blocks("user", "left");
before_center();
title("Вход в личный кабинет");
echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"98%\"><tr><td><center><font color=\"red\" size=\"+1\"><b>Введен неверный пароль</b></font><br><br><a href=\"cart.php?do=purchase\">Вернуться назад</a></center></td></tr></table>";
after_center();
foot();
die();
} else {
cookieset($id, $login, $password, "ru");
$userid=$id;
}
}
}


if ($userid) {
list($user_mail) = mysql_fetch_array(mysql_query("SELECT email FROM user WHERE id='".intval(cookieread(0))."' LIMIT 1"));
list($surname, $name, $company, $country, $city, $address, $phone, $icq) = mysql_fetch_array(mysql_query("SELECT surname, name, company, country, city, address, phone, icq FROM user_more WHERE id='".intval(cookieread(0))."' LIMIT 1"));

$namen = (strlen($surname)>0 OR strlen($name)>0) ? stripslashes($surname)." ".stripslashes($name) : "Не указано";
$company = (strlen($company)>0) ? stripslashes($company) : "Не указано";
$country = (strlen($country)>0) ? stripslashes($country) : "Не указано";
$city = (strlen($city)>0) ? stripslashes($city) : "Не указано";
$address = (strlen($address)>0) ? stripslashes($address) : "Не указано";
$phone = (strlen($phone)>0) ? stripslashes($phone) : "Не указано";
$icq = (strlen($icq)>0) ? stripslashes($icq) : "Не указано";


Суть в том что отправка заказа происходить раньше чем на сайт с базы поступят данные о пользователе. В итоге в своей админке я вижу данные о заказе

user posted image

Где искать ошибку?
Быстрый ответ:

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