неактивная кнопка магазина
Добрый день. Хочу сделать так, чтобы в интернет-магазине(оформление заказа) при отсутствии заполнения обязательных полей кнопка "Далее" была неактивна.
Не понимаю, куда нужно добавить код, в xsl-шаблон или в динамическую страницу. Если в xsl, подскажите, пожалуйста, как преобразовать код под xsl
Не понимаю, куда нужно добавить код, в xsl-шаблон или в динамическую страницу. Если в xsl, подскажите, пожалуйста, как преобразовать код под xsl
<script language="JavaScript">
function()
{
if (($_SESSION['site_users_phone'] !='')&&($_SESSION['site_users_name'] !='')) {document.f.step_1.disabled=0;}
else
{
document.f.step_1.disabled=1;}
}
}
</script>
function()
{
if (($_SESSION['site_users_phone'] !='')&&($_SESSION['site_users_name'] !='')) {document.f.step_1.disabled=0;}
else
{
document.f.step_1.disabled=1;}
}
}
</script>
код типовой динамической страницы
<?php
$shop = & singleton('shop');
if (class_exists("SiteUsers"))
{
/* Получаем id текущего пользователя сайта */
$SiteUsers = & singleton('SiteUsers');
$site_users_id = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_users_id = false;
}
######################################################
### Обработка принятия заказа от платежной системы ###
######################################################
// ------------------------------------------------
// Подготовка редиректа для PayPal
// ------------------------------------------------
if (isset($_POST['paymentType']))
{
// Получаем ID заказа
$order_id = to_int($_POST['order_id']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
}
// ------------------------------------------------
// Обработка уведомления об оплате от IntellectMoney
// ------------------------------------------------
if (isset($_REQUEST['orderId']))
{
// Получаем ID заказа
$order_id = to_int($_POST['orderId']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
}
// ------------------------------------------------
// Обработка уведомления об оплате от RBK Money
// ------------------------------------------------
if (isset($_POST['paymentStatus']) || isset($_GET['PayPalOrderConfirmation']))
{
// Получаем ID заказа
$order_id = to_int($_POST['orderId']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
}
// ------------------------------------------------
// Обработка уведомления об оплате от WebMoney
// ------------------------------------------------
if (isset($_POST['LMI_PAYEE_PURSE']))
{
// Получаем ID заказа
$order_id = to_int($_POST['LMI_PAYMENT_NO']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
}
// ------------------------------------------------
// Обработка уведомления об оплате от ROBOKASSA
// ------------------------------------------------
if (isset($_REQUEST['SignatureValue']) && isset($_REQUEST['Culture']))
{
// Получаем ID заказа
$order_id = to_int($_REQUEST['InvId']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
}
// ------------------------------------------------
// ------------------------------------------------
// Обработка уведомления об оплате от Authorize.net
// ------------------------------------------------
if (isset($_POST['x_response_code']))
{
// Получаем ID заказа
$order_id = to_int($_POST['order_id']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
}
// ------------------------------------------------
// Вывод информации о статусе платежа после его совершения и перенаправления с платежной системы
// ------------------------------------------------
if (isset($_REQUEST['payment']))
{
// Получаем ID заказа
if (isset($_REQUEST['order_id']))
{
$order_id = to_int($_REQUEST['order_id']);
}
else
{
$order_id = to_int($_REQUEST['InvId']);
}
$order_row = $shop->GetOrder($order_id);
// Если заказ принадлежит текущему авторизированному пользователю
if ($order_row['site_users_id'] == $site_users_id)
{
if (to_str($_REQUEST['payment']) == 'success')
{
?><h1>Подтверждение платежа</h1>
<p>Спасибо, информация об оплате заказа <strong>№ <?php echo $order_row['shop_order_account_number']?></strong>
получена.</p>
<?php
}
else
{
?><h1>Платеж не получен</h1>
<p>К сожалению при оплате заказа <strong>№ <?php echo $order_row['shop_order_account_number']?></strong>
произошла ошибка.</p>
<?php
}
}
// Для случаев, когда отключен модуль "Пользователи сайта"
elseif ($site_users_id === false)
{
?><h1>Подтверждение платежа</h1>
<p>Благодарим за посещение нашего магазина!</p>
<?php
}
else
{
?><h1>Ошибка</h1>
<p>Неверный номер заказа!</p>
<?php
}
// Прерываем выполнение типовой динамической страницы
return true;
}
############################################################
### [END] Обработка принятия заказа от платежной системы ###
############################################################
/* Идентификатор интернет-магазина */
$shop_id = to_int($GLOBALS['LA']['shop_id']);
/* Проверяем наличие текущего пользователя */
/* Пользователь не авторизироаан */
if ($site_users_id == 0)
{
/* Быстрая регистрация пользователя */
if (isset($_POST['step1_2']))
{
/* пароль необязателен при обновлении данных о пользователе */
if (isset($_POST['site_users_login'])
&& isset($_POST['site_users_password'])
&& isset($_POST['site_users_email'])
&& isset($_POST['site_users_password_retry'])
&& mb_strpos($_POST['site_users_login'], 'http://') === false // Логин не начинается с http://
)
{
if (to_str($_POST['site_users_password']) == to_str($_POST['site_users_password_retry']))
{
// В массив дополнительных параметров пишем адрес магазина
$shop_row = $shop->GetShop($shop_id);
// Получаем путь к магазину
$Structure = & singleton('Structure');
$shop_path = "/".$Structure->GetStructurePath($shop_row['structure_id'],0);
$param['location'] = $shop_path . "cart/";
$param['site_users_login'] = to_str($_POST['site_users_login']);
$param['site_users_password'] = to_str($_POST['site_users_password']);
$param['site_users_email'] = 'admin@shop.ru';
$param['site_users_name'] = to_str($_POST['site_users_name']);
$param['site_users_surname'] = to_str($_POST['site_users_surname']);
$param['site_users_patronymic'] = to_str($_POST['site_users_patronymic']);
$param['site_users_country'] = to_str($_POST['site_users_country']);
$param['site_users_company'] = to_str($_POST['site_users_company']);
$param['site_users_phone'] = to_str($_POST['site_users_phone']);
// Группа по умолчанию
$param['site_users_group_id'] = $SiteUsers->GetDefaultGroup();
$param['xslname'] = to_str($GLOBALS['LA']['xsl_registaration_letter']);
/* Не отправлять письмо о подтверждении регистрации,
необходим при автоматическом подтрвеждении регистрации (ниже подтверждение) */
/*
ДАННЫЙ ПАРАМЕТР НЕОБХОДИМО УСТАНОВИТЬ, ЕСЛИ НЕ ТРЕБУЕТСЯ ПОДТВЕРЖДЕНИЕ РЕГИСТРАЦИИ
ПОЛЬЗОВАТЕЛЯ ПОСЛЕ БЫСТРОГО ЗАКАЗА
*/
$param['not_send_mail_confirm'] = true;
// добавляем пользователя, отправляем уведомление о регистрации
$result = $SiteUsers->InsertSiteUser($param);
/* Если не отправляли подтверждение - */
if ($result > 0 && $param['not_send_mail_confirm'])
{
/* Подтверждаем регистрацию */
$SiteUsers->SetConfirmationID($result);
/* Авторизируем пользователя */
$SiteUsers->SetCurrentSiteUser($result);
$site_users_id = $result;
/* Переносим информацию о заказанном товаре в таблицу корзины */
$shop->TransferFromCartIntoTable($site_users_id);
// Проверяем куки пользователя на предмет наличия в них логина аффилиата
if (isset($_COOKIE['affiliate_name']))
{
$affiliate = new affiliate();
$affiliate_login = quote_smart($_COOKIE['affiliate_name']);
$affiliate_row = $SiteUsers->GetSiteUserByLogin($affiliate_login);
if ($affiliate_row)
{
$affiliate_id = $affiliate_row['site_users_id'];
// Проводим вставку пользователя аффилиата
$affiliate->InsertAffiliate(array('site_users_id' => $result, 'affiliate_plans_id' => 0, 'affiliate_site_users_id' => $affiliate_id, 'affiliate_active' => 1));
}
}
}
/* Если пользователь зарегистрирован и необходимо подтверждать авторизацию */
if ($result > 0 && !$param['not_send_mail_confirm'])
{
?>
<h1>Спасибо за регистрацию</h1>
<p>Для продолжения работы необходимо подтвердить регистрацию Ваших
данных. В Ваш адрес отправлено письмо, содержащее ссылку для
подтверждения регистрации.</p>
<?php
}
// Проверяем наличие ошибки при регистрации
if ($result < 0)
{
// -3 - Пользователь с таким логином зарегистрирован ранее
// -2 - Пользователь с таким e-mail зарегистрирован ранее
// -1 - Введен некорректный e-mail
$GLOBALS['external_propertys']['error'] = $result;
}
}
else
{
$GLOBALS['external_propertys']['error'] = -7; /*Повторный пароль введен неверно*/
}
}
else
{
$GLOBALS['external_propertys']['error'] = -4; /* Пожалуйста, задайте все обязательные параметры */
}
}
}
/* Если отключен модуль пользователей сайта */
if (isset($_POST['step_1_1a']) && isset($_POST['step_1']))
{
if (mb_strlen(to_str($_POST['site_users_name'])) < 1)
{
$message = 'Введите имя!';
}
if (mb_strlen(to_str($_POST['site_users_surname'])) < 1)
{
//$message = 'Введите фамилию!';
}
if (mb_strlen(to_str($_POST['site_users_phone'])) < 1
)
{
$message = 'Введите контактные данные!';
}
}
if (empty($message) && ($site_users_id > 0 || $site_users_id === false))
{
/* Ввод адреса доставки */
if (isset($_POST['step_1']))
{
/* Если отключен модуль пользователей сайта, то вызывается этот подэтап */
if (isset($_POST['step_1_1a']))
{
/* Сохраняем данные о пользователе в сессию */
/*$_SESSION['country'] ='Россия';
$_SESSION['location'] ='Москва и Московская обл.';
$_SESSION['city'] ='Москва';*/
// Сбрасываем информацию о последнем заказе
$_SESSION['last_order_id'] = 0;
$_SESSION['site_users_name'] = to_str($_POST['site_users_name']);
$_SESSION['site_users_surname'] = to_str($_POST['site_users_surname']);
$_SESSION['site_users_patronymic'] = to_str($_POST['site_users_patronymic']);
$_SESSION['site_users_email'] ='admin@shop.ru';//
$_SESSION['site_users_phone'] = to_str($_POST['site_users_phone']);
$_SESSION['site_users_fax'] = to_str($_POST['site_users_fax']);
$_SESSION['full_address'] = to_str($_POST['site_users_address']);
$_SESSION['site_users_company'] = to_str($_POST['site_users_company']);
$_SESSION['description'] = to_str($_POST['description']);
}
/* Запоминаем купон */
$_SESSION['shop_coupon_text'] = to_str($_POST['shop_coupon_text']);
/* Отображаем форму ввода адреса */
//$shop->ShowAddress(to_str($GLOBALS['LA']['xsl_delivery_address']), $shop_id);
$system_of_pay_id = 1;
if (to_int($system_of_pay_id) != 0)
{
if (!$shop->ExecSystemsOfPayHandler(to_int($system_of_pay_id)))
{
show_error_message("Не найден обработчик платежной системы с номером ".to_int($_POST['system_of_pay_id']));
}
}
else
{
show_error_message('Ошибка! Не указана ни одна платежная система.');
}
}
else
{
/* Очищаем сессию */
if (isset($_SESSION['CART'][$shop_id]))
{
unset($_SESSION['CART'][$shop_id]);
}
/* Отображаем корзину */
$shop->ShowCart($shop_id, $site_users_id,
to_str($GLOBALS['LA']['xsl_cart']), array('shop_coupon_text' => to_str($_REQUEST['shop_coupon_text'])));
}
}
elseif ($site_users_id === 0 || !empty($error))
{
/* Выводим корзину */
$external_propertys = array();
if (!empty($error))
{
$external_propertys['message'] = $error;
}
$external_propertys['site_users_name'] = to_str($_POST['site_users_name']);
$external_propertys['site_users_surname'] = to_str($_POST['site_users_surname']);
$external_propertys['site_users_patronymic'] = to_str($_POST['site_users_patronymic']);
$external_propertys['site_users_email'] = 'admin@shop.ru';
$external_propertys['site_users_phone'] = to_str($_POST['site_users_phone']);
$external_propertys['site_users_fax'] = to_str($_POST['site_users_fax']);
$external_propertys['site_users_address'] = to_str($_POST['site_users_address']);
$external_propertys['site_users_company'] = to_str($_POST['site_users_company']);
$shop->ShowCart($shop_id, $site_users_id, to_str($GLOBALS['LA']['xsl_cart']), array('shop_coupon_text' => to_str($_REQUEST['shop_coupon_text'])), $external_propertys);
if (class_exists("SiteUsers"))
{
/* Выводим форму быстрой регистрации (регистрация для пользователей) */
$GLOBALS['external_propertys']['ПоказатьАвторизацию'] = 'true';
$SiteUsers->ShowSiteUserRegistartion($site_users_id,
to_str($GLOBALS['LA']['xsl_quick_registration']), $GLOBALS['external_propertys']);
}
}
else
{
?>
Вам необходимо подтвердить регистрацию!
<?php
}
?>
$shop = & singleton('shop');
if (class_exists("SiteUsers"))
{
/* Получаем id текущего пользователя сайта */
$SiteUsers = & singleton('SiteUsers');
$site_users_id = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_users_id = false;
}
######################################################
### Обработка принятия заказа от платежной системы ###
######################################################
// ------------------------------------------------
// Подготовка редиректа для PayPal
// ------------------------------------------------
if (isset($_POST['paymentType']))
{
// Получаем ID заказа
$order_id = to_int($_POST['order_id']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
}
// ------------------------------------------------
// Обработка уведомления об оплате от IntellectMoney
// ------------------------------------------------
if (isset($_REQUEST['orderId']))
{
// Получаем ID заказа
$order_id = to_int($_POST['orderId']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
}
// ------------------------------------------------
// Обработка уведомления об оплате от RBK Money
// ------------------------------------------------
if (isset($_POST['paymentStatus']) || isset($_GET['PayPalOrderConfirmation']))
{
// Получаем ID заказа
$order_id = to_int($_POST['orderId']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
}
// ------------------------------------------------
// Обработка уведомления об оплате от WebMoney
// ------------------------------------------------
if (isset($_POST['LMI_PAYEE_PURSE']))
{
// Получаем ID заказа
$order_id = to_int($_POST['LMI_PAYMENT_NO']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
}
// ------------------------------------------------
// Обработка уведомления об оплате от ROBOKASSA
// ------------------------------------------------
if (isset($_REQUEST['SignatureValue']) && isset($_REQUEST['Culture']))
{
// Получаем ID заказа
$order_id = to_int($_REQUEST['InvId']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
}
// ------------------------------------------------
// ------------------------------------------------
// Обработка уведомления об оплате от Authorize.net
// ------------------------------------------------
if (isset($_POST['x_response_code']))
{
// Получаем ID заказа
$order_id = to_int($_POST['order_id']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
}
// ------------------------------------------------
// Вывод информации о статусе платежа после его совершения и перенаправления с платежной системы
// ------------------------------------------------
if (isset($_REQUEST['payment']))
{
// Получаем ID заказа
if (isset($_REQUEST['order_id']))
{
$order_id = to_int($_REQUEST['order_id']);
}
else
{
$order_id = to_int($_REQUEST['InvId']);
}
$order_row = $shop->GetOrder($order_id);
// Если заказ принадлежит текущему авторизированному пользователю
if ($order_row['site_users_id'] == $site_users_id)
{
if (to_str($_REQUEST['payment']) == 'success')
{
?><h1>Подтверждение платежа</h1>
<p>Спасибо, информация об оплате заказа <strong>№ <?php echo $order_row['shop_order_account_number']?></strong>
получена.</p>
<?php
}
else
{
?><h1>Платеж не получен</h1>
<p>К сожалению при оплате заказа <strong>№ <?php echo $order_row['shop_order_account_number']?></strong>
произошла ошибка.</p>
<?php
}
}
// Для случаев, когда отключен модуль "Пользователи сайта"
elseif ($site_users_id === false)
{
?><h1>Подтверждение платежа</h1>
<p>Благодарим за посещение нашего магазина!</p>
<?php
}
else
{
?><h1>Ошибка</h1>
<p>Неверный номер заказа!</p>
<?php
}
// Прерываем выполнение типовой динамической страницы
return true;
}
############################################################
### [END] Обработка принятия заказа от платежной системы ###
############################################################
/* Идентификатор интернет-магазина */
$shop_id = to_int($GLOBALS['LA']['shop_id']);
/* Проверяем наличие текущего пользователя */
/* Пользователь не авторизироаан */
if ($site_users_id == 0)
{
/* Быстрая регистрация пользователя */
if (isset($_POST['step1_2']))
{
/* пароль необязателен при обновлении данных о пользователе */
if (isset($_POST['site_users_login'])
&& isset($_POST['site_users_password'])
&& isset($_POST['site_users_email'])
&& isset($_POST['site_users_password_retry'])
&& mb_strpos($_POST['site_users_login'], 'http://') === false // Логин не начинается с http://
)
{
if (to_str($_POST['site_users_password']) == to_str($_POST['site_users_password_retry']))
{
// В массив дополнительных параметров пишем адрес магазина
$shop_row = $shop->GetShop($shop_id);
// Получаем путь к магазину
$Structure = & singleton('Structure');
$shop_path = "/".$Structure->GetStructurePath($shop_row['structure_id'],0);
$param['location'] = $shop_path . "cart/";
$param['site_users_login'] = to_str($_POST['site_users_login']);
$param['site_users_password'] = to_str($_POST['site_users_password']);
$param['site_users_email'] = 'admin@shop.ru';
$param['site_users_name'] = to_str($_POST['site_users_name']);
$param['site_users_surname'] = to_str($_POST['site_users_surname']);
$param['site_users_patronymic'] = to_str($_POST['site_users_patronymic']);
$param['site_users_country'] = to_str($_POST['site_users_country']);
$param['site_users_company'] = to_str($_POST['site_users_company']);
$param['site_users_phone'] = to_str($_POST['site_users_phone']);
// Группа по умолчанию
$param['site_users_group_id'] = $SiteUsers->GetDefaultGroup();
$param['xslname'] = to_str($GLOBALS['LA']['xsl_registaration_letter']);
/* Не отправлять письмо о подтверждении регистрации,
необходим при автоматическом подтрвеждении регистрации (ниже подтверждение) */
/*
ДАННЫЙ ПАРАМЕТР НЕОБХОДИМО УСТАНОВИТЬ, ЕСЛИ НЕ ТРЕБУЕТСЯ ПОДТВЕРЖДЕНИЕ РЕГИСТРАЦИИ
ПОЛЬЗОВАТЕЛЯ ПОСЛЕ БЫСТРОГО ЗАКАЗА
*/
$param['not_send_mail_confirm'] = true;
// добавляем пользователя, отправляем уведомление о регистрации
$result = $SiteUsers->InsertSiteUser($param);
/* Если не отправляли подтверждение - */
if ($result > 0 && $param['not_send_mail_confirm'])
{
/* Подтверждаем регистрацию */
$SiteUsers->SetConfirmationID($result);
/* Авторизируем пользователя */
$SiteUsers->SetCurrentSiteUser($result);
$site_users_id = $result;
/* Переносим информацию о заказанном товаре в таблицу корзины */
$shop->TransferFromCartIntoTable($site_users_id);
// Проверяем куки пользователя на предмет наличия в них логина аффилиата
if (isset($_COOKIE['affiliate_name']))
{
$affiliate = new affiliate();
$affiliate_login = quote_smart($_COOKIE['affiliate_name']);
$affiliate_row = $SiteUsers->GetSiteUserByLogin($affiliate_login);
if ($affiliate_row)
{
$affiliate_id = $affiliate_row['site_users_id'];
// Проводим вставку пользователя аффилиата
$affiliate->InsertAffiliate(array('site_users_id' => $result, 'affiliate_plans_id' => 0, 'affiliate_site_users_id' => $affiliate_id, 'affiliate_active' => 1));
}
}
}
/* Если пользователь зарегистрирован и необходимо подтверждать авторизацию */
if ($result > 0 && !$param['not_send_mail_confirm'])
{
?>
<h1>Спасибо за регистрацию</h1>
<p>Для продолжения работы необходимо подтвердить регистрацию Ваших
данных. В Ваш адрес отправлено письмо, содержащее ссылку для
подтверждения регистрации.</p>
<?php
}
// Проверяем наличие ошибки при регистрации
if ($result < 0)
{
// -3 - Пользователь с таким логином зарегистрирован ранее
// -2 - Пользователь с таким e-mail зарегистрирован ранее
// -1 - Введен некорректный e-mail
$GLOBALS['external_propertys']['error'] = $result;
}
}
else
{
$GLOBALS['external_propertys']['error'] = -7; /*Повторный пароль введен неверно*/
}
}
else
{
$GLOBALS['external_propertys']['error'] = -4; /* Пожалуйста, задайте все обязательные параметры */
}
}
}
/* Если отключен модуль пользователей сайта */
if (isset($_POST['step_1_1a']) && isset($_POST['step_1']))
{
if (mb_strlen(to_str($_POST['site_users_name'])) < 1)
{
$message = 'Введите имя!';
}
if (mb_strlen(to_str($_POST['site_users_surname'])) < 1)
{
//$message = 'Введите фамилию!';
}
if (mb_strlen(to_str($_POST['site_users_phone'])) < 1
)
{
$message = 'Введите контактные данные!';
}
}
if (empty($message) && ($site_users_id > 0 || $site_users_id === false))
{
/* Ввод адреса доставки */
if (isset($_POST['step_1']))
{
/* Если отключен модуль пользователей сайта, то вызывается этот подэтап */
if (isset($_POST['step_1_1a']))
{
/* Сохраняем данные о пользователе в сессию */
/*$_SESSION['country'] ='Россия';
$_SESSION['location'] ='Москва и Московская обл.';
$_SESSION['city'] ='Москва';*/
// Сбрасываем информацию о последнем заказе
$_SESSION['last_order_id'] = 0;
$_SESSION['site_users_name'] = to_str($_POST['site_users_name']);
$_SESSION['site_users_surname'] = to_str($_POST['site_users_surname']);
$_SESSION['site_users_patronymic'] = to_str($_POST['site_users_patronymic']);
$_SESSION['site_users_email'] ='admin@shop.ru';//
$_SESSION['site_users_phone'] = to_str($_POST['site_users_phone']);
$_SESSION['site_users_fax'] = to_str($_POST['site_users_fax']);
$_SESSION['full_address'] = to_str($_POST['site_users_address']);
$_SESSION['site_users_company'] = to_str($_POST['site_users_company']);
$_SESSION['description'] = to_str($_POST['description']);
}
/* Запоминаем купон */
$_SESSION['shop_coupon_text'] = to_str($_POST['shop_coupon_text']);
/* Отображаем форму ввода адреса */
//$shop->ShowAddress(to_str($GLOBALS['LA']['xsl_delivery_address']), $shop_id);
$system_of_pay_id = 1;
if (to_int($system_of_pay_id) != 0)
{
if (!$shop->ExecSystemsOfPayHandler(to_int($system_of_pay_id)))
{
show_error_message("Не найден обработчик платежной системы с номером ".to_int($_POST['system_of_pay_id']));
}
}
else
{
show_error_message('Ошибка! Не указана ни одна платежная система.');
}
}
else
{
/* Очищаем сессию */
if (isset($_SESSION['CART'][$shop_id]))
{
unset($_SESSION['CART'][$shop_id]);
}
/* Отображаем корзину */
$shop->ShowCart($shop_id, $site_users_id,
to_str($GLOBALS['LA']['xsl_cart']), array('shop_coupon_text' => to_str($_REQUEST['shop_coupon_text'])));
}
}
elseif ($site_users_id === 0 || !empty($error))
{
/* Выводим корзину */
$external_propertys = array();
if (!empty($error))
{
$external_propertys['message'] = $error;
}
$external_propertys['site_users_name'] = to_str($_POST['site_users_name']);
$external_propertys['site_users_surname'] = to_str($_POST['site_users_surname']);
$external_propertys['site_users_patronymic'] = to_str($_POST['site_users_patronymic']);
$external_propertys['site_users_email'] = 'admin@shop.ru';
$external_propertys['site_users_phone'] = to_str($_POST['site_users_phone']);
$external_propertys['site_users_fax'] = to_str($_POST['site_users_fax']);
$external_propertys['site_users_address'] = to_str($_POST['site_users_address']);
$external_propertys['site_users_company'] = to_str($_POST['site_users_company']);
$shop->ShowCart($shop_id, $site_users_id, to_str($GLOBALS['LA']['xsl_cart']), array('shop_coupon_text' => to_str($_REQUEST['shop_coupon_text'])), $external_propertys);
if (class_exists("SiteUsers"))
{
/* Выводим форму быстрой регистрации (регистрация для пользователей) */
$GLOBALS['external_propertys']['ПоказатьАвторизацию'] = 'true';
$SiteUsers->ShowSiteUserRegistartion($site_users_id,
to_str($GLOBALS['LA']['xsl_quick_registration']), $GLOBALS['external_propertys']);
}
}
else
{
?>
Вам необходимо подтвердить регистрацию!
<?php
}
?>
настройки страницы
<?php
/* Создаем экземпляр класса магазина */
$shop = & singleton('shop'
;
/* Идентификатор интернет-магазина */
$shop_id = to_int($GLOBALS['LA']['shop_id']);
// ------------------------------------------------
// Обработка уведомления об оплате от ROBOKASSA
// должно быть только в настройках типовой дин. страницы
// ------------------------------------------------
if (isset($_REQUEST['SignatureValue'])
// для отличия от SuccessURL/FailURL
&& !isset($_REQUEST['Culture']))
{
// Получаем ID заказа
$order_id = to_int($_REQUEST['InvId']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
exit();
}
// ------------------------------------------------
/**
* Использовать ли контроль данных, полученных из cookies
*/
// $shop->use_cookies_read_control = true;
// Обработка AJAX-запросов при заказе
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'get_location' && isset($_REQUEST['shop_country_id']))
{
$shop_country_id = to_int($_REQUEST['shop_country_id']);
$result = array();
if ($shop_country_id)
{
// Расположения заполняем только тогда, когда страна указана
$res = $shop->GetAllLocation($shop_country_id);
if ($res)
{
while ($row = mysql_fetch_assoc($res))
{
$result[$row['shop_location_id']] = $row['shop_location_name'];
}
}
}
$JsHttpRequest = new JsHttpRequest('UTF-8'
;
$GLOBALS['_RESULT'] = array(
'result' => $result);
echo $JsHttpRequest->LOADER;
exit();
}
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'get_city' && isset($_REQUEST['shop_location_id']))
{
$shop_location_id = to_int($_REQUEST['shop_location_id']);
$result = array();
if ($shop_location_id)
{
// Города заполняем только тогда, когда расположение указано
$res = $shop->GetAllCity($shop_location_id);
if ($res)
{
while ($row = mysql_fetch_assoc($res))
{
$result[$row['shop_city_id']] = $row['shop_city_name'];
}
}
}
$JsHttpRequest = new JsHttpRequest('UTF-8'
;
$GLOBALS['_RESULT'] = array(
'result' => $result);
echo $JsHttpRequest->LOADER;
exit();
}
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'get_cityarea' && isset($_REQUEST['shop_city_id']))
{
$shop_city_id = to_int($_REQUEST['shop_city_id']);
$result = array();
// Города заполняем только тогда, когда расположение указано
if ($shop_city_id)
{
$res = $shop->GetAllCityArea($shop_city_id);
if ($res)
{
while ($row = mysql_fetch_assoc($res))
{
$result[$row['shop_city_area_id']] = $row['shop_city_area_name'];
}
}
}
$JsHttpRequest = new JsHttpRequest('UTF-8'
;
$GLOBALS['_RESULT'] = array(
'result' => $result);
echo $JsHttpRequest->LOADER;
exit();
}
// END обработка AJAX-запросов при заказе
if (class_exists("SiteUsers"
)
{
/* Определяем идентификатор текущего пользователя */
$SiteUsers = & singleton('SiteUsers'
;
$site_users_id = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_users_id = false;
}
// Повторение заказа
if (to_str($_REQUEST['action']) == 'repeat'
{
$shop_order_guid = to_str($_REQUEST['shop_order_guid']);
$order_row = $shop->GetOrderByGuid($shop_order_guid);
// Заказ найден
if ($order_row)
{
$shop_order_id = $order_row['shop_order_id'];
// Если заказ принадлежит этому пользователю
if ($order_row['site_users_id'] == $site_users_id && $site_users_id != 0)
{
$result_order_items = $shop->GetOrderItems($shop_order_id);
$shop_id_from_order = to_int($order_row['shop_shops_id']);
while ($row = mysql_fetch_assoc($result_order_items))
{
$shop_order_items_quantity = $row['shop_order_items_quantity'];
$shop_order_items_quantity = $shop->ConvertPrice($shop_order_items_quantity);
// Число товаров передаем, если посетитеь кладет в корзину больше одного товара
if ($shop_order_items_quantity > 0)
{
/* Добавляем товар в корзину */
$shop->AddIntoCart(array('user_id' => $site_users_id,
'shop_id' => $shop_id_from_order,
'item_id' => $row['shop_items_catalog_item_id'],
'count' => $shop_order_items_quantity));
}
}
}
}
}
// Запускаем сессию, если пользователь не авторизирован и пришли данные для регистрации
if ($site_users_id == 0 && isset($_POST['site_users_login'])
&& isset($_POST['site_users_password'])
&& isset($_POST['site_users_email'])
&& !isset($_SESSION))
{
@session_start();
}
$GLOBALS['external_propertys'] = array();
// Если сессия не была запущена - стартуем ее
if (isset($_POST['step_1_1a']) && !isset($_SESSION) && !class_exists("SiteUsers"
)
{
@session_start();
}
/* Необходимо перенести товары из кукисов в сессию и очистить кукисы */
if ((isset($_POST['step_4']) || isset($_POST['step_1_1a'])) && !class_exists("SiteUsers"
)
{
/* Читаем массив из кукисов */
if (!empty($_COOKIE['CART']))
{
$session_cart = array();
$postpone_items = array();
$cart_from_cookies = $shop->GetCookieCart();
$items = to_array($cart_from_cookies[$shop_id]);
foreach ($items as $key => $value)
{
if ($value['shop_cart_flag_postpone'])
{
/* Оставляем товар в корзине кукисов */
$postpone_items[$key] = $value;
}
else
{
/* Добавляем в корзину сессии */
$session_cart[$key] = $value;
}
}
/* Добавляем данные в сессию */
$_SESSION['CART'][$shop_id] = $session_cart;
/* Если массив с отложенными товарами не пуст - сохраняем его в кукисы */
if (count($postpone_items) > 0 && isset($_POST['step_1_1a']))
/*if (count($postpone_items) > 0 && isset($_POST['step_4']))*/
{
$cart_from_cookies[$shop_id] = $postpone_items;
}
elseif(isset($_POST['step_1_1a']))
/*elseif(isset($_POST['step_4']))*/
{
/* Удалям целиком кукисы карзины для данного магазина */
unset($cart_from_cookies[$shop_id]);
}
/* Сохраняем данные */
$shop->SetCookieCart($cart_from_cookies, time() + 31536000, '/'
;
}
}
/* Переданы данные для авторизации */
if (isset($_POST['step1_1']))
{
/* Проверяем правильность введенных данных */
$site_users_id = $SiteUsers->ValidUser(to_str($_POST['login']), to_str($_POST['password']));
/* Проверяем подтвердил ли пользователь регистрацию */
if ($site_users_id == -1)
{
$GLOBALS['external_propertys']['error'] = -5; /* Вы не активировали свой аккаунт. По указанному адресу отправлено письмо с инструкцией об активации. После активации Вы можете авторизироваться. */
}
elseif ($site_users_id > 0)
{
// Пользователь ввел верные данные, авторизируем его
$SiteUsers->SetCurrentSiteUser($site_users_id);
}
else
{
/* Неверные данные пользователя */
$GLOBALS['external_propertys']['error'] = -6;
}
}
/* AJAX добавление товара в корзину */
if (isset($_GET['ajax_add_item_id']))
{
$param = array();
$param['shop_id'] = $shop_id;
$param['item_id'] = to_int($_GET['ajax_add_item_id']);
$param['user_id'] = $site_users_id;
if (isset($_GET['count']))
{
$item_add_count = $_GET['count'];
}
else
{
$item_add_count = 1;
}
$shop_order_items_quantity = $shop->ConvertPrice($item_add_count);
// Число товаров передаем, если посетитель кладет в корзину больше 0 товара
if ($shop_order_items_quantity > 0)
{
$param['count'] = $shop_order_items_quantity;
}
// Добавляем товар в корзину
$shop->AddIntoCart($param);
// Отображаем корзину
$JsHttpRequest = new JsHttpRequest('UTF-8'
;
ob_start();
$shop->ShowCart($shop_id, $site_users_id, to_str($GLOBALS['LA']['xsl_little_cart']));
$little_cart_html = ob_get_clean();
$GLOBALS['_RESULT'] = array('cart' => $little_cart_html);
echo $JsHttpRequest->LOADER;
exit();
}
/* добавление товара в корзину */
if (to_str($_GET['action']) == 'add'
{
$param = array();
$param['shop_id'] = $shop_id;
$param['item_id'] = to_int($_GET['item_id']);
$param['user_id'] = $site_users_id;
if (isset($_GET['count']))
{
$item_add_count = $_GET['count'];
}
else
{
$item_add_count = 1;
}
// Число товаров передаем, если посетитель кладет в корзину больше 0 товара
$shop_order_items_quantity = $shop->ConvertPrice($item_add_count);
if ($shop_order_items_quantity > 0)
{
$param['count'] = $shop_order_items_quantity;
}
/* Добавляем товар в корзину */
$shop->AddIntoCart($param);
}
/* Удаляение товара из корзины */
if (to_str($_GET['action']) == 'delete_item'
{
$param = array();
$param['shop_id'] = $shop_id;
$param['item_id'] = to_int($_GET['item_id']);
/* Проверяем наличие пользователя */
if ($site_users_id != 0)
{
$param['user_id'] = $site_users_id;
}
$shop->DeleteCart($param);
}
/* Пересчет товара в корзине */
if (isset($_POST['recount'])
// Пересчет при выборе первого шага
/*|| isset($_POST['step_1'])*/)
{
$param = array();
$warehouse = & singleton('warehouse'
;
foreach ($_POST as $key => $value)
{
$param['item_id'] = $key;
/* Получаем идентификатор записи в корзине по идентификатору пользователя и товара */
$cart_id = $shop->GetItemFromCart($shop_id, $site_users_id, $param['item_id']);
$param['cart_id'] = to_int($cart_id['shop_cart_id']);
$param['user_id'] = $site_users_id;
$param['shop_id'] = $shop_id;
$param['count'] = $value;
if (isset($_POST['warehouse'.$key]))
{
$param['warehouse_id'] = $_POST['warehouse'.$key];
}
else
{
// Склад по умолчанию
$param['warehouse_id'] = $warehouse->GetDefaultWarehouse($shop_id);
}
/* Если установлен флажок - делаем товар отложенным */
$param['postpone'] = !empty($_POST['flag_postpone'.$key]) ? 1 : 0;
/* Если количество = 0 - удаляем из корзины */
if ($param['count'] == 0)
{
$shop->DeleteCart($param);
}
else
{
$shop->UpdateCart($param);
}
}
}
?>
xsl -шаблон корзины стандартный
<?php
/* Создаем экземпляр класса магазина */
$shop = & singleton('shop'
;/* Идентификатор интернет-магазина */
$shop_id = to_int($GLOBALS['LA']['shop_id']);
// ------------------------------------------------
// Обработка уведомления об оплате от ROBOKASSA
// должно быть только в настройках типовой дин. страницы
// ------------------------------------------------
if (isset($_REQUEST['SignatureValue'])
// для отличия от SuccessURL/FailURL
&& !isset($_REQUEST['Culture']))
{
// Получаем ID заказа
$order_id = to_int($_REQUEST['InvId']);
$order_row = $shop->GetOrder($order_id);
if ($order_row)
{
// Вызов обработчика платежной системы
$shop->ExecSystemsOfPayHandler($order_row['shop_system_of_pay_id']);
}
exit();
}
// ------------------------------------------------
/**
* Использовать ли контроль данных, полученных из cookies
*/
// $shop->use_cookies_read_control = true;
// Обработка AJAX-запросов при заказе
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'get_location' && isset($_REQUEST['shop_country_id']))
{
$shop_country_id = to_int($_REQUEST['shop_country_id']);
$result = array();
if ($shop_country_id)
{
// Расположения заполняем только тогда, когда страна указана
$res = $shop->GetAllLocation($shop_country_id);
if ($res)
{
while ($row = mysql_fetch_assoc($res))
{
$result[$row['shop_location_id']] = $row['shop_location_name'];
}
}
}
$JsHttpRequest = new JsHttpRequest('UTF-8'
;$GLOBALS['_RESULT'] = array(
'result' => $result);
echo $JsHttpRequest->LOADER;
exit();
}
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'get_city' && isset($_REQUEST['shop_location_id']))
{
$shop_location_id = to_int($_REQUEST['shop_location_id']);
$result = array();
if ($shop_location_id)
{
// Города заполняем только тогда, когда расположение указано
$res = $shop->GetAllCity($shop_location_id);
if ($res)
{
while ($row = mysql_fetch_assoc($res))
{
$result[$row['shop_city_id']] = $row['shop_city_name'];
}
}
}
$JsHttpRequest = new JsHttpRequest('UTF-8'
;$GLOBALS['_RESULT'] = array(
'result' => $result);
echo $JsHttpRequest->LOADER;
exit();
}
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'get_cityarea' && isset($_REQUEST['shop_city_id']))
{
$shop_city_id = to_int($_REQUEST['shop_city_id']);
$result = array();
// Города заполняем только тогда, когда расположение указано
if ($shop_city_id)
{
$res = $shop->GetAllCityArea($shop_city_id);
if ($res)
{
while ($row = mysql_fetch_assoc($res))
{
$result[$row['shop_city_area_id']] = $row['shop_city_area_name'];
}
}
}
$JsHttpRequest = new JsHttpRequest('UTF-8'
;$GLOBALS['_RESULT'] = array(
'result' => $result);
echo $JsHttpRequest->LOADER;
exit();
}
// END обработка AJAX-запросов при заказе
if (class_exists("SiteUsers"
){
/* Определяем идентификатор текущего пользователя */
$SiteUsers = & singleton('SiteUsers'
;$site_users_id = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_users_id = false;
}
// Повторение заказа
if (to_str($_REQUEST['action']) == 'repeat'

{
$shop_order_guid = to_str($_REQUEST['shop_order_guid']);
$order_row = $shop->GetOrderByGuid($shop_order_guid);
// Заказ найден
if ($order_row)
{
$shop_order_id = $order_row['shop_order_id'];
// Если заказ принадлежит этому пользователю
if ($order_row['site_users_id'] == $site_users_id && $site_users_id != 0)
{
$result_order_items = $shop->GetOrderItems($shop_order_id);
$shop_id_from_order = to_int($order_row['shop_shops_id']);
while ($row = mysql_fetch_assoc($result_order_items))
{
$shop_order_items_quantity = $row['shop_order_items_quantity'];
$shop_order_items_quantity = $shop->ConvertPrice($shop_order_items_quantity);
// Число товаров передаем, если посетитеь кладет в корзину больше одного товара
if ($shop_order_items_quantity > 0)
{
/* Добавляем товар в корзину */
$shop->AddIntoCart(array('user_id' => $site_users_id,
'shop_id' => $shop_id_from_order,
'item_id' => $row['shop_items_catalog_item_id'],
'count' => $shop_order_items_quantity));
}
}
}
}
}
// Запускаем сессию, если пользователь не авторизирован и пришли данные для регистрации
if ($site_users_id == 0 && isset($_POST['site_users_login'])
&& isset($_POST['site_users_password'])
&& isset($_POST['site_users_email'])
&& !isset($_SESSION))
{
@session_start();
}
$GLOBALS['external_propertys'] = array();
// Если сессия не была запущена - стартуем ее
if (isset($_POST['step_1_1a']) && !isset($_SESSION) && !class_exists("SiteUsers"
){
@session_start();
}
/* Необходимо перенести товары из кукисов в сессию и очистить кукисы */
if ((isset($_POST['step_4']) || isset($_POST['step_1_1a'])) && !class_exists("SiteUsers"
){
/* Читаем массив из кукисов */
if (!empty($_COOKIE['CART']))
{
$session_cart = array();
$postpone_items = array();
$cart_from_cookies = $shop->GetCookieCart();
$items = to_array($cart_from_cookies[$shop_id]);
foreach ($items as $key => $value)
{
if ($value['shop_cart_flag_postpone'])
{
/* Оставляем товар в корзине кукисов */
$postpone_items[$key] = $value;
}
else
{
/* Добавляем в корзину сессии */
$session_cart[$key] = $value;
}
}
/* Добавляем данные в сессию */
$_SESSION['CART'][$shop_id] = $session_cart;
/* Если массив с отложенными товарами не пуст - сохраняем его в кукисы */
if (count($postpone_items) > 0 && isset($_POST['step_1_1a']))
/*if (count($postpone_items) > 0 && isset($_POST['step_4']))*/
{
$cart_from_cookies[$shop_id] = $postpone_items;
}
elseif(isset($_POST['step_1_1a']))
/*elseif(isset($_POST['step_4']))*/
{
/* Удалям целиком кукисы карзины для данного магазина */
unset($cart_from_cookies[$shop_id]);
}
/* Сохраняем данные */
$shop->SetCookieCart($cart_from_cookies, time() + 31536000, '/'
;}
}
/* Переданы данные для авторизации */
if (isset($_POST['step1_1']))
{
/* Проверяем правильность введенных данных */
$site_users_id = $SiteUsers->ValidUser(to_str($_POST['login']), to_str($_POST['password']));
/* Проверяем подтвердил ли пользователь регистрацию */
if ($site_users_id == -1)
{
$GLOBALS['external_propertys']['error'] = -5; /* Вы не активировали свой аккаунт. По указанному адресу отправлено письмо с инструкцией об активации. После активации Вы можете авторизироваться. */
}
elseif ($site_users_id > 0)
{
// Пользователь ввел верные данные, авторизируем его
$SiteUsers->SetCurrentSiteUser($site_users_id);
}
else
{
/* Неверные данные пользователя */
$GLOBALS['external_propertys']['error'] = -6;
}
}
/* AJAX добавление товара в корзину */
if (isset($_GET['ajax_add_item_id']))
{
$param = array();
$param['shop_id'] = $shop_id;
$param['item_id'] = to_int($_GET['ajax_add_item_id']);
$param['user_id'] = $site_users_id;
if (isset($_GET['count']))
{
$item_add_count = $_GET['count'];
}
else
{
$item_add_count = 1;
}
$shop_order_items_quantity = $shop->ConvertPrice($item_add_count);
// Число товаров передаем, если посетитель кладет в корзину больше 0 товара
if ($shop_order_items_quantity > 0)
{
$param['count'] = $shop_order_items_quantity;
}
// Добавляем товар в корзину
$shop->AddIntoCart($param);
// Отображаем корзину
$JsHttpRequest = new JsHttpRequest('UTF-8'
;ob_start();
$shop->ShowCart($shop_id, $site_users_id, to_str($GLOBALS['LA']['xsl_little_cart']));
$little_cart_html = ob_get_clean();
$GLOBALS['_RESULT'] = array('cart' => $little_cart_html);
echo $JsHttpRequest->LOADER;
exit();
}
/* добавление товара в корзину */
if (to_str($_GET['action']) == 'add'

{
$param = array();
$param['shop_id'] = $shop_id;
$param['item_id'] = to_int($_GET['item_id']);
$param['user_id'] = $site_users_id;
if (isset($_GET['count']))
{
$item_add_count = $_GET['count'];
}
else
{
$item_add_count = 1;
}
// Число товаров передаем, если посетитель кладет в корзину больше 0 товара
$shop_order_items_quantity = $shop->ConvertPrice($item_add_count);
if ($shop_order_items_quantity > 0)
{
$param['count'] = $shop_order_items_quantity;
}
/* Добавляем товар в корзину */
$shop->AddIntoCart($param);
}
/* Удаляение товара из корзины */
if (to_str($_GET['action']) == 'delete_item'

{
$param = array();
$param['shop_id'] = $shop_id;
$param['item_id'] = to_int($_GET['item_id']);
/* Проверяем наличие пользователя */
if ($site_users_id != 0)
{
$param['user_id'] = $site_users_id;
}
$shop->DeleteCart($param);
}
/* Пересчет товара в корзине */
if (isset($_POST['recount'])
// Пересчет при выборе первого шага
/*|| isset($_POST['step_1'])*/)
{
$param = array();
$warehouse = & singleton('warehouse'
;foreach ($_POST as $key => $value)
{
$param['item_id'] = $key;
/* Получаем идентификатор записи в корзине по идентификатору пользователя и товара */
$cart_id = $shop->GetItemFromCart($shop_id, $site_users_id, $param['item_id']);
$param['cart_id'] = to_int($cart_id['shop_cart_id']);
$param['user_id'] = $site_users_id;
$param['shop_id'] = $shop_id;
$param['count'] = $value;
if (isset($_POST['warehouse'.$key]))
{
$param['warehouse_id'] = $_POST['warehouse'.$key];
}
else
{
// Склад по умолчанию
$param['warehouse_id'] = $warehouse->GetDefaultWarehouse($shop_id);
}
/* Если установлен флажок - делаем товар отложенным */
$param['postpone'] = !empty($_POST['flag_postpone'.$key]) ? 1 : 0;
/* Если количество = 0 - удаляем из корзины */
if ($param['count'] == 0)
{
$shop->DeleteCart($param);
}
else
{
$shop->UpdateCart($param);
}
}
}
?>
xsl -шаблон корзины стандартный
Jukki,
у Вас какая-то жуткая мешанина JS и PHP, Вам необходимо на JS делать проверку заполненности обязательных полей и в зависимости от этого включать или выключать кнопку.
у Вас какая-то жуткая мешанина JS и PHP, Вам необходимо на JS делать проверку заполненности обязательных полей и в зависимости от этого включать или выключать кнопку.
ой, и вправду фигня какая-то 
тогда

тогда
if (($_SESSION['site_users_phone'] ='')||($_SESSION['site_users_name'] =''))
{
?>
<script language=«JavaScript»>
function()
{document.f.step_1.disabled=1;}
</script>
<?php
}
else
{ ?>
<script language=«JavaScript»>
function()
{document.f.step_1.disabled=0;}
</script>
<?php
}
{
?>
<script language=«JavaScript»>
function()
{document.f.step_1.disabled=1;}
</script>
<?php
}
else
{ ?>
<script language=«JavaScript»>
function()
{document.f.step_1.disabled=0;}
</script>
<?php
}
и какие проблемы возникают при использовании этого кода? Из трех сообщений не ясен вопрос.
вставьте в xsl нужного шага, только не сессию надо проверять а выполнять эту функцию при событии keyup нужных полей
Авторизация