Перейти к содержанию
Форум поддержки пользователей VamShop

Поле телефон в форме купить в 1 клик


Рекомендуемые сообщения

Переделал ask_a_question.php в купить в 1 клик,  добавил методом тыка, по аналогии с другими полями, поле телефон. и сделал е-mail не обязательным для заполнения.

 

Есть две проблемки:

 

1. Не показывается поле для заполнения авторизированным пользователям.

 

2. У новых клиентов все работает,  только ошибка пишится когда в поле e-mail не правильный e-mail  Language string failed to load: invalid_address: 11111111111Language string failed to load: invalid_address: 11111111111  

 

Помогите довести до ума

 

 

<?php
/*
  $Id: ask_a_question.php,v 1.42 2003/06/11 17:35:01 hpdl Exp $
 
  osCommerce, Open Source E-Commerce Solutions
 
  Copyright © 2003 osCommerce
 
  Released under the GNU General Public License
  Credits: Marg Davison, Loпc Richard, FaNaTiC, C. Bouwmeester
  Anpassungen fьr XT:Commerce 3.0.4 SP1: 2005/2006 BSB Beratung+Software Bleicher
  ASK_A_QUESTION.GIF Grafikdesign © 2005/2005 BSB Beratung+Software Bleicher
 
*/
include ('includes/application_top.php');
 
// include needed functions
require_once(DIR_FS_INC.'vam_validate_email.inc.php');
require_once (DIR_FS_INC.'vam_image_button.inc.php');
require_once (DIR_FS_INC.'vam_random_charcode.inc.php');
require_once (DIR_FS_INC.'vam_render_vvcode.inc.php');
 
// create smarty elements
$vamTemplate = new vamTemplate;
 
$vamTemplate->assign('language', $_SESSION['language']);
 
if (isset ($_POST['action']) && ($_POST['action'] == 'process')) {
 
include ('includes/header.php');
 
$product_info_query = vam_db_query("select * FROM ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd where p.products_status = '1' and p.products_id = '".(int)$_POST['products_id']."' and pd.products_id = p.products_id and pd.language_id = '".(int)$_SESSION['languages_id']."'");
$product_info = vam_db_fetch_array($product_info_query);
 
 
 
$error = false;
 
if (isset($_SESSION['customer_id'])) { 
$firstname = $_SESSION['customer_first_name'];
$lastname = $_SESSION['customer_last_name'];
$email_address =$_SESSION['customer_email_address'];
$phone = $_SESSION['customers_telephone'];
$message = vam_db_input($_POST['message_body']);
$to_email_address = (!empty($email_address)) ? $email_address : EMAIL_SUPPORT_ADDRESS;
$to_name = $firstname .' '. $lastname;
  } else {    
$firstname = vam_db_input($_POST['firstname']);
$lastname = vam_db_input($_POST['lastname']);
$email_address = vam_db_input($_POST['email_address']);
$phone = vam_db_input($_POST['phone']);
$message = vam_db_input($_POST['message_body']);
$to_email_address = (!empty($email_address)) ? $email_address : EMAIL_SUPPORT_ADDRESS;
$to_name = $firstname .' '. $lastname;
}
 
if (strlen($firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) {
$error = true;
$messageStack->add('ask_a_question', ENTRY_FIRST_NAME_ERROR);
}
 
if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) {
$error = true;
$messageStack->add('ask_a_question', ENTRY_LAST_NAME_ERROR);
}
 
if (empty($phone)) {
        $error = true;
        $messageStack->add('ask_a_question', 'Вы не заполнили поле Телефон');
    }
 
/* if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) {
$error = true;
$messageStack->add('ask_a_question', ENTRY_EMAIL_ADDRESS_ERROR);
}
elseif (vam_validate_email($email_address) == false) {
$error = true;
$messageStack->add('ask_a_question', ENTRY_EMAIL_ADDRESS_ERROR);
}  */
 
/* if (($_POST['captcha'] != $_SESSION['vvcode'])) {
$error = true;
        $messageStack->add('ask_a_question', TEXT_WRONG_CODE);
} */
 
if ($message == '') {
$error = true;
$messageStack->add('ask_a_question', TEXT_MESSAGE_ERROR);
}
 
if ($messageStack->size('ask_a_question') > 0) {
$vamTemplate->assign('error', $messageStack->output('ask_a_question'));
}
 
if ($error == false) {
$vamTemplate->assign('PRODUCTS_NAME', $product_info['products_name']);
$vamTemplate->assign('PRODUCTS_MODEL', $product_info['products_model']);
$vamTemplate->assign('TEXT_MESSAGE', $_POST['message_body']);
$vamTemplate->assign('TEXT_FIRSTNAME', $firstname);
$vamTemplate->assign('TEXT_LASTNAME', $lastname);
$vamTemplate->assign('TEXT_EMAIL', $email_address);
$vamTemplate->assign('TEXT_PHONE', $phone);
$vamTemplate->assign('TEXT_EMAIL_SUCCESSFUL', sprintf(TEXT_EMAIL_SUCCESSFUL_SENT, $product_info['products_name']));
$vamTemplate->assign('PRODUCT_LINK', vam_href_link(FILENAME_PRODUCT_INFO, vam_product_link($product_info['products_id'], $product_info['products_name'])));
$vamTemplate->caching = 0;
$html_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/ask_a_question.html');
$vamTemplate->caching = 0;
$txt_mail = $vamTemplate->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/ask_a_question.txt');
// send mail to admin
vam_php_mail($to_email_address, EMAIL_SUPPORT_NAME, EMAIL_SUPPORT_ADDRESS, STORE_NAME, EMAIL_SUPPORT_FORWARDING_STRING, $to_email_address, $to_name, '', '', NAVBAR_TITLE_ASK, $html_mail, $txt_mail);
// send mail to customer
vam_php_mail(EMAIL_SUPPORT_ADDRESS, EMAIL_SUPPORT_NAME, $to_email_address, $to_name, EMAIL_SUPPORT_FORWARDING_STRING, EMAIL_SUPPORT_REPLY_ADDRESS, EMAIL_SUPPORT_REPLY_ADDRESS_NAME, '', '', NAVBAR_TITLE_ASK, $html_mail, $txt_mail);
 
if (!CacheCheck()) {
$vamTemplate->caching = 0;
$vamTemplate->display(CURRENT_TEMPLATE.'/module/ask_a_question_ok.html');
} else {
$vamTemplate->caching = 1;
$vamTemplate->cache_lifetime = CACHE_LIFETIME;
$vamTemplate->cache_modified_check = CACHE_CHECK;
$cache_id = $_SESSION['language'];
$vamTemplate->display(CURRENT_TEMPLATE.'/module/ask_a_question_ok.html', $cache_id);
}
}else{
$vamTemplate->assign('PRODUCTS_NAME', $product_info['products_name']);
$vamTemplate->assign('PRODUCTS_MODEL', $product_info['products_model']);
 
$vamTemplate->assign('FORM_ACTION', vam_draw_form('ask_a_question', vam_href_link(FILENAME_ASK_PRODUCT_QUESTION, 'products_id='.$_GET['products_id'].'')).vam_draw_hidden_field('action', 'process').vam_draw_hidden_field('products_id', $_GET['products_id']));
/* $vamTemplate->assign('CAPTCHA_IMG', vam_image(HTTP_SERVER . DIR_WS_CATALOG . FILENAME_DISPLAY_CAPTCHA, 'captcha', 'name="captcha" '));    
$vamTemplate->assign('CAPTCHA_INPUT', vam_draw_input_field('captcha', '', 'size="6" maxlength="6" id="captcha"', 'text', false)); */
 
        if (isset($_SESSION['customer_id'])) { 
//-> registered user********************************************************
$vamTemplate->assign('INPUT_FIRSTNAME', $_SESSION['customer_first_name']);
$vamTemplate->assign('INPUT_LASTNAME', $_SESSION['customer_last_name']);
$vamTemplate->assign('INPUT_EMAIL', $_SESSION['customer_email_address']);
$vamTemplate->assign('INPUT_PHONE', $account['customers_telephone']);
        }else{
//-> guest *********************************************************  
$vamTemplate->assign('INPUT_FIRSTNAME', vam_draw_input_fieldNote(array ('name' => 'firstname', 'text' => '&nbsp;'. (vam_not_null(ENTRY_FIRST_NAME_TEXT) ? '<span class="inputRequirement">'.ENTRY_FIRST_NAME_TEXT.'</span>' : ''))));
$vamTemplate->assign('INPUT_LASTNAME', vam_draw_input_fieldNote(array ('name' => 'lastname', 'text' => '&nbsp;'. (vam_not_null(ENTRY_LAST_NAME_TEXT) ? '<span class="inputRequirement">'.ENTRY_LAST_NAME_TEXT.'</span>' : ''))));
$vamTemplate->assign('INPUT_EMAIL', vam_draw_input_fieldNote(array ('name' => 'email_address', 'text' => '&nbsp;'. (vam_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? '<span class="inputRequirement">'.ENTRY_EMAIL_ADDRESS_TEXT.'</span>' : ''))));
$vamTemplate->assign('INPUT_PHONE', vam_draw_input_fieldNote(array ('name' => 'phone', 'text' => '&nbsp;'. (vam_not_null(ENTRY_LAST_NAME_TEXT) ? '<span class="inputRequirement">'.ENTRY_LAST_NAME_TEXT.'</span>' : ''))));
        }
$vamTemplate->assign('INPUT_TEXT', vam_draw_textarea_field('message_body', 'soft', 50, 15, stripslashes($_POST['message_body'])));
$vamTemplate->assign('FORM_END', '</form>');
$vamTemplate->assign('BUTTON_SUBMIT', vam_image_submit('submit.png',  IMAGE_BUTTON_CONTINUE,' ','btn btn btn-primary'));
$vamTemplate->assign('BUTTON_CONTINUE', '<a class="button" href="javascript:window.close()">'.vam_image_button('back.png', IMAGE_BUTTON_BACK,' ','btn btn btn-primary').'</a>');
 
// set cache ID
 if (!CacheCheck()) {
$vamTemplate->caching = 0;
$vamTemplate->display(CURRENT_TEMPLATE.'/module/ask_a_question.html');
} else {
$vamTemplate->caching = 1;
$vamTemplate->cache_lifetime = CACHE_LIFETIME;
$vamTemplate->cache_modified_check = CACHE_CHECK;
$cache_id = $_SESSION['language'];
$vamTemplate->display(CURRENT_TEMPLATE.'/module/ask_a_question.html', $cache_id);
}
}
}else{
 
$product_info_query = vam_db_query("select * FROM ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd where p.products_status = '1' and p.products_id = '".(int)$_GET['products_id']."' and pd.products_id = p.products_id and pd.language_id = '".(int)$_SESSION['languages_id']."'");
$product_info = vam_db_fetch_array($product_info_query);
 
include ('includes/header.php');
 
$breadcrumb->add(NAVBAR_TITLE_ASK, vam_href_link(FILENAME_ASK_PRODUCT_QUESTION, 'products_id='.$product->data['products_id'], 'SSL'));
 
$vamTemplate->assign('PRODUCTS_NAME', $product_info['products_name']);
$vamTemplate->assign('PRODUCTS_MODEL', $product_info['products_model']);
/* $vamTemplate->assign('CAPTCHA_IMG', vam_image(HTTP_SERVER . DIR_WS_CATALOG . FILENAME_DISPLAY_CAPTCHA, 'captcha', '', '', 'name="captcha" '));    
$vamTemplate->assign('CAPTCHA_INPUT', vam_draw_input_field('captcha', '', 'size="6" maxlength="6" id="captcha"', 'text', false)); */
 
$vamTemplate->assign('FORM_ACTION', vam_draw_form('ask_a_question', vam_href_link(FILENAME_ASK_PRODUCT_QUESTION, 'products_id='.$_GET['products_id'].'')).vam_draw_hidden_field('action', 'process').vam_draw_hidden_field('products_id', $_GET['products_id']));
        if (isset($_SESSION['customer_id'])) { 
//-> registered user********************************************************
$vamTemplate->assign('INPUT_FIRSTNAME', $_SESSION['customer_first_name']);
$vamTemplate->assign('INPUT_LASTNAME', $_SESSION['customer_last_name']);
$vamTemplate->assign('INPUT_EMAIL', $_SESSION['customer_email_address']);
$vamTemplate->assign('INPUT_PHONE', $account['customers_telephone']);
        }else{
//-> guest *********************************************************  
$vamTemplate->assign('INPUT_FIRSTNAME', vam_draw_input_fieldNote(array ('name' => 'firstname', 'text' => '&nbsp;'. (vam_not_null(ENTRY_FIRST_NAME_TEXT) ? '<span class="inputRequirement">'.ENTRY_FIRST_NAME_TEXT.'</span>' : ''))));
$vamTemplate->assign('INPUT_LASTNAME', vam_draw_input_fieldNote(array ('name' => 'lastname', 'text' => '&nbsp;'. (vam_not_null(ENTRY_LAST_NAME_TEXT) ? '<span class="inputRequirement">'.ENTRY_LAST_NAME_TEXT.'</span>' : ''))));
$vamTemplate->assign('INPUT_EMAIL', vam_draw_input_fieldNote(array ('name' => 'email_address', 'text' => '&nbsp;'. (vam_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? '<span class="inputRequirement">'.ENTRY_EMAIL_ADDRESS_TEXT.'</span>' : ''))));
$vamTemplate->assign('INPUT_PHONE', vam_draw_input_fieldNote(array ('name' => 'phone', 'text' => '&nbsp;'. (vam_not_null(ENTRY_LAST_NAME_TEXT) ? '<span class="inputRequirement">'.ENTRY_LAST_NAME_TEXT.'</span>' : ''))));
        }
$vamTemplate->assign('INPUT_TEXT', vam_draw_textarea_field('message_body', 'soft', 50, 15, stripslashes($_POST['message_body'])));
$vamTemplate->assign('FORM_END', '</form>');
$vamTemplate->assign('BUTTON_SUBMIT', vam_image_submit('submit.png',  IMAGE_BUTTON_CONTINUE,' ','btn btn btn-primary'));
$vamTemplate->assign('BUTTON_CONTINUE', '<a class="button" href="javascript:window.close()">'.vam_image_button('back.png', IMAGE_BUTTON_BACK,' ','btn btn btn-primary').'</a>');
 
$vamTemplate->caching = 0;
$vamTemplate->display(CURRENT_TEMPLATE.'/module/ask_a_question.html');
}
?>
Ссылка на сообщение
Поделиться на другие сайты

Так ошибку пишет наверное потому что у Вас вместо email указывается телефон?!

В ошибке написано, что не может отправить почту на ящик 1111111111

Ссылка на сообщение
Поделиться на другие сайты

Так ошибку пишет наверное потому что у Вас вместо email указывается телефон?!

В ошибке написано, что не может отправить почту на ящик 1111111111

 

 

А как с полем телефон для заполнения авторизированным пользователям быть, идеальный был бы вариант если бы оно само было заполнено как е-mail

Ссылка на сообщение
Поделиться на другие сайты

может, этот скрипт больше понравится?

http://dedushka.org/kod/4266.html

Там наверное не будет id товара присваиваться.

Ссылка на сообщение
Поделиться на другие сайты

Так а я код за Вас писать не буду.

Смотрите пример существующих полей и делаете по аналогии.

Ссылка на сообщение
Поделиться на другие сайты

Так а я код за Вас писать не буду.

Смотрите пример существующих полей и делаете по аналогии.

это стандартный ваш ответ:) Саша скажите пожалуйста, неужели "заказ в 1 клик" еще не актуален для реализации его вашими силами в новой сборке вашего интернет-магазина? 

Хотите сказать он мало кому нужен?

 

Пожалуйста сообщите истинную причину почему вы ещё не реализовали "заказ в 1 клик" в стандартной сборке?

Ссылка на сообщение
Поделиться на другие сайты

Я считаю, что быстрое оформление, что есть сейчас, и так максимально простое.

А заказ в 1 клик элементарно делается из задать вопрос о товаре.

Ссылка на сообщение
Поделиться на другие сайты
  • 3 months later...

А если это так элементарно делается, то почему бы тогда Создателю, действительно, мимоходом не создать такой заказ в один клик? Дёшево и сердито. Все довольны. Зачем спорить? Надо идти навстречу пожеланиям трудящихся.

Ссылка на сообщение
Поделиться на другие сайты

А в чём смысл, если заказы не регистрируются в админке, не записываются в базу, по ним нельзя вести работу никакую, ни статистику ни собрать, ни с клиентом не связаться, ни выяснить, откуда пришёл этот клиент, была ли это реклама Ваша, либо поисковик, либо другое источник, никакой аналитики.

 

Это вообще странный подход, зачем вообще интернет-магазин открывать, если можно просто взять форму с отправкой на email.

Ссылка на сообщение
Поделиться на другие сайты

Скажите, пожалуйста, а как уменьшить в размерах всплывающее окно "задать вопрос о товаре"? У меня оно всплывает, но кнопка "продолжить" оказывается ниже нижней границы экрана и чтобы до неё добраться, надо изменять зум экрана. Неудобно посетителю. Где можно поправить размеры этого всплывающего окна? Чтобы по умолчанию с первого раза оно было меньше?

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...