Перейти к содержимому

Фотография
- - - - -

нужна помощь с формой заказа Landing Page


  • Вы не можете создать новую тему
  • Закрытая тема Тема закрыта
Сообщений в теме: 6

#1 ka4uk93

ka4uk93

    Прохожий

    Топикстартер
  • Новичок
  • 0
    4 сообщ.

Отправлено 21 Май 2017 в 12:55

всем привет, нужна помощь с формой заказа Landing Page
тоесть, есть сайт на нем форма заказа, но в самом файле пхп надо подкорегоровать что-то так как заказы не приходят на почту
пробовал ставить на 3 разных бесплатных хостинга, но не в какую не приходят письма, на разные почты переделывал(gmail, ukr.net, rambler)


  • 0

Спонсор

#2 BaNru

BaNru

    Пацифизжу

  • суперМодератор
  • 980
    3 506 сообщ.

Отправлено 21 Май 2017 в 13:04

пробовал ставить на 3 разных бесплатных хостинга

Ошибка в выделенном слове.


  • 0

#3 ka4uk93

ka4uk93

    Прохожий

    Топикстартер
  • Новичок
  • 0
    4 сообщ.

Отправлено 21 Май 2017 в 13:50

 

пробовал ставить на 3 разных бесплатных хостинга

Ошибка в выделенном слове.

 

та прикол в том что другие сайты работают, а этот нет


<?php 

/*  
If you see this text in your browser, PHP is not configured correctly on this hosting provider. 
Contact your hosting provider regarding PHP configuration for your site.


PHP file generated by Adobe Muse CC 2015.0.2.310
*/


require_once('form_process.php');


$form = array(
'subject' => 'Отправка Форма Turbo Insta|Vk',
'heading' => 'Отправка новой формы',
'success_redirect' => '',
'resources' => array(
'checkbox_checked' => 'Отмечено',
'checkbox_unchecked' => 'Флажок не установлен',
'submitted_from' => 'Формы, отправленные с веб-сайта: %s',
'submitted_by' => 'IP-адрес посетителя: %s',
'too_many_submissions' => 'Недопустимо высокое количество отправок с этого IP-адреса за последнее время',
'failed_to_send_email' => 'Не удалось отправить сообщение эл. почты',
'invalid_reCAPTCHA_private_key' => 'Недействительный закрытый ключ reCAPTCHA.',
'invalid_field_type' => 'Неизвестный тип поля \'%s\'.',
'invalid_form_config' => 'Недопустимая конфигурация поля \"%s\".',
'unknown_method' => 'Неизвестный метод запроса сервера'
),
'email' => array(
'from' => 'ka4uk93@gmail.com',
'to' => 'ka4uk93@gmail.com'
),
'fields' => array(
'custom_U963' => array(
'order' => 1,
'type' => 'string',
'label' => 'Пользовательский текст:',
'required' => true,
'errors' => array(
'required' => 'Поле \'Пользовательский текст:\' не может быть пустым.'
)
),
'custom_U967' => array(
'order' => 2,
'type' => 'string',
'label' => 'Пользовательский текст:',
'required' => true,
'errors' => array(
'required' => 'Поле \'Пользовательский текст:\' не может быть пустым.'
)
)
)
);


process_form($form);
?>

Сообщение отредактировал BaNru: 22 Май 2017 в 01:28
Для кода есть кнопка CODE

  • 0

#4 Катха

Катха

    Прохожий

  • Участник
  • 11
    39 сообщ.

Отправлено 21 Май 2017 в 15:36

ka4uk93, это не прикол, это непонимание где что работает, а где что не работает.

Другие сайты работают с этим кодом и на этом же хосте и тарифе? Или что-то по другому?

Эту фразу:

If you see this text in your browser, PHP is not configured correctly on this hosting provider. 
Contact your hosting provider regarding PHP configuration for your site.

пробовали перевести?


Сообщение отредактировал Катха: 21 Май 2017 в 15:43

  • 0

#5 ka4uk93

ka4uk93

    Прохожий

    Топикстартер
  • Новичок
  • 0
    4 сообщ.

Отправлено 21 Май 2017 в 15:47

 

ka4uk93, это не прикол, это непонимание где что работает, а где что не работает.

Другие сайты работают с этим кодом и на этом же хосте и тарифе? Или что-то по другому?

Эту фразу:

If you see this text in your browser, PHP is not configured correctly on this hosting provider. 
Contact your hosting provider regarding PHP configuration for your site.

пробовали перевести?

 

пробывал но такого не выбивает, просто пишет "форма отправлена" и все, ничего не приходит


  • 0

#6 Катха

Катха

    Прохожий

  • Участник
  • 11
    39 сообщ.

Отправлено 21 Май 2017 в 17:40

Приведённый вами выше скрипт ничего не выполняет. Он только объявляет массивы переменных и в последней строке вызывает функцию process_form($form). Но кода функции в этом скрипте нет. Скрипт этой функции скорей всего находится в файле form_process.php который подключается командой require_once в девятой строке этого скрипта.


  • 0

#7 ka4uk93

ka4uk93

    Прохожий

    Топикстартер
  • Новичок
  • 0
    4 сообщ.

Отправлено 21 Май 2017 в 18:09

Приведённый вами выше скрипт ничего не выполняет. Он только объявляет массивы переменных и в последней строке вызывает функцию process_form($form). Но кода функции в этом скрипте нет. Скрипт этой функции скорей всего находится в файле form_process.php который подключается командой require_once в девятой строке этого скрипта.

<?php 

/*  
If you see this text in your browser, PHP is not configured correctly on this hosting provider. 
Contact your hosting provider regarding PHP configuration for your site.


PHP file generated by Adobe Muse CC 2015.0.2.310
*/


require_once('form_throttle.php');


function process_form($form) {
if ($_SERVER['REQUEST_METHOD'] != 'POST')
die(get_form_error_response($form['resources']['unknown_method']));


if (formthrottle_too_many_submissions($_SERVER['REMOTE_ADDR']))
die(get_form_error_response($form['resources']['too_many_submissions']));


// will die() if there are any errors
check_required_fields($form);


// will die() if there is a send email problem
email_form_submission($form);
}


function get_form_error_response($error) {
return get_form_response(false, array('error' => $error));
}


function get_form_response($success, $data) {
if (!is_array($data))
die('data must be array');


$status = array();
$status[$success ? 'FormResponse' : 'MusePHPFormResponse'] = array_merge(array('success' => $success), $data);


return json_serialize($status);
}


function check_required_fields($form) {
$errors = array();


foreach ($form['fields'] as $field => $properties) {
if (!$properties['required'])
continue;


if (!array_key_exists($field, $_REQUEST) || empty($_REQUEST[$field]))
array_push($errors, array('field' => $field, 'message' => $properties['errors']['required']));
else if (!check_field_value_format($form, $field, $properties))
array_push($errors, array('field' => $field, 'message' => $properties['errors']['format']));
}


if (!empty($errors))
die(get_form_error_response(array('fields' => $errors)));
}


function check_field_value_format($form, $field, $properties) {
$value = get_form_field_value($field, $properties, $form['resources'], false);


switch($properties['type']) {
case 'checkbox':
case 'string':
case 'captcha':
// no format to validate for those fields
return true;


case 'checkboxgroup':
if (!array_key_exists('optionItems', $properties))
die(get_form_error_response(sprintf($form['resources']['invalid_form_config'], $properties['label'])));


// If the value received is not an array, treat it as invalid format
if (!isset($value))
return false;


// Check each option to see if it is a valid value
foreach($value as $checkboxValue) {
if (!in_array($checkboxValue, $properties['optionItems']))
return false;
}


return true;


case 'radiogroup':
if (!array_key_exists('optionItems', $properties))
die(get_form_error_response(sprintf($form['resources']['invalid_form_config'], $properties['label'])));


//check list of real radio values
return in_array($value, $properties['optionItems']);


case 'recaptcha':
if (!array_key_exists('recaptcha', $form) || !array_key_exists('private_key', $form['recaptcha']) || empty($form['recaptcha']['private_key']))
die(get_form_error_response($form['resources']['invalid_reCAPTCHA_private_key']));
$resp = recaptcha_check_answer($form['recaptcha']['private_key'], $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);
return $resp->is_valid;


case 'email':
return 1 == preg_match('/^[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i', $value);


case 'radio': // never validate the format of a single radio element; only the group gets validated
default:
die(get_form_error_response(sprintf($form['resources']['invalid_field_type'], $properties['type'])));
}
}


function email_form_submission($form) {
if(!defined('PHP_EOL'))
define('PHP_EOL', '\r\n');


$form_email = ((array_key_exists('Email', $_REQUEST) && !empty($_REQUEST['Email'])) ? cleanup_email($_REQUEST['Email']) : '');


$to = $form['email']['to'];
$subject = $form['subject'];
$message = get_email_body($subject, $form['heading'], $form['fields'], $form['resources']);
$headers = get_email_headers($to, $form_email); 


$sent = @mail($to, $subject, $message, $headers);


if(!$sent)
die(get_form_error_response($form['resources']['failed_to_send_email']));


$success_data = array(
'redirect' => $form['success_redirect']
    );


echo get_form_response(true, $success_data);
}


function get_email_headers($to_email, $form_email) {
$headers = 'From: ' . $to_email . PHP_EOL;
$headers .= 'Reply-To: ' . $form_email . PHP_EOL;
$headers .= 'X-Mailer: Adobe Muse CC 2015.0.2.310 with PHP' . PHP_EOL;
$headers .= 'Content-type: text/html; charset=utf-8' . PHP_EOL;


return $headers;
}


function get_email_body($subject, $heading, $fields, $resources) {
$message = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
$message .= '<html xmlns="http://www.w3.org/1999/xhtml">';
$message .= '<head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><title>' . encode_for_form($subject) . '</title></head>';
$message .= '<body style="background-color: #ffffff; color: #000000; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: 18px; font-family: helvetica, arial, verdana, sans-serif;">';
$message .= '<h2 style="background-color: #eeeeee;">' . $heading . '</h2>';
$message .= '<table cellspacing="0" cellpadding="0" width="100%" style="background-color: #ffffff;">'; 


$sorted_fields = array();


foreach ($fields as $field => $properties) {
// Skip reCAPTCHA from email submission
if ('recaptcha' == $properties['type'])
continue;


array_push($sorted_fields, array('field' => $field, 'properties' => $properties));
}


// sort fields
usort($sorted_fields, 'field_comparer');


foreach ($sorted_fields as $field_wrapper)
$message .= '<tr><td valign="top" style="background-color: #ffffff;"><b>' . encode_for_form($field_wrapper['properties']['label']) . ':</b></td><td>' . get_form_field_value($field_wrapper['field'], $field_wrapper['properties'], $resources, true) . '</td></tr>';


$message .= '</table>';
$message .= '<br/><br/>';
$message .= '<div style="background-color: #eeeeee; font-size: 10px; line-height: 11px;">' . sprintf($resources['submitted_from'], encode_for_form($_SERVER['SERVER_NAME'])) . '</div>';
$message .= '<div style="background-color: #eeeeee; font-size: 10px; line-height: 11px;">' . sprintf($resources['submitted_by'], encode_for_form($_SERVER['REMOTE_ADDR'])) . '</div>';
$message .= '</body></html>';


return cleanup_message($message);
}


function field_comparer($field1, $field2) {
if ($field1['properties']['order'] == $field2['properties']['order'])
return 0;


return (($field1['properties']['order'] < $field2['properties']['order']) ? -1 : 1);
}


function is_assoc_array($arr) {
if (!is_array($arr))
return false;


$keys = array_keys($arr);
foreach (array_keys($arr) as $key)
if (is_string($key)) return true;


return false;
}


function json_serialize($data) {


if (is_assoc_array($data)) {
$json = array();


foreach ($data as $key => $value)
array_push($json, '"' . $key . '": ' . json_serialize($value));


return '{' . implode(', ', $json) . '}';
}


if (is_array($data)) {
$json = array();


foreach ($data as $value)
array_push($json, json_serialize($value));


return '[' . implode(', ', $json) . ']';
}


if (is_int($data) || is_float($data))
return $data;


if (is_bool($data))
return $data ? 'true' : 'false';


return '"' . encode_for_json($data) . '"';
}


function encode_for_json($value) {
return preg_replace(array('/([\'"\\t\\\\])/i', '/\\r/i', '/\\n/i'), array('\\\\$1', '\\r', '\\n'), $value);
}


function encode_for_form($text) {
$text = stripslashes($text);
return htmlentities($text, ENT_QUOTES, 'UTF-8');// need ENT_QUOTES or webpro.js jQuery.parseJSON fails
}


function get_form_field_value($field, $properties, $resources, $forOutput) {
$value = $_REQUEST[$field];


switch($properties['type']) {
case 'checkbox':
return (($value == '1' || $value == 'true') ? $resources['checkbox_checked'] : $resources['checkbox_unchecked']);


case 'checkboxgroup':
if (!is_array($value))
return NULL;


$outputValue = array();


foreach ($value as $checkboxValue)
array_push($outputValue, $forOutput ? encode_for_form($checkboxValue) : stripslashes($checkboxValue));


if ($forOutput)
$outputValue = implode(', ', $outputValue);


return $outputValue;


case 'radiogroup':
return ($forOutput ? encode_for_form($value) : stripslashes($value));


case 'string':
case 'captcha':
case 'recaptcha':
case 'email':
return encode_for_form($value);


case 'radio': // never validate the format of a single radio element; only the group gets validated
default:
die(get_form_error_response(sprintf($resources['invalid_field_type'], $properties['type'])));
}
}


function cleanup_email($email) {
$email = encode_for_form($email);
$email = preg_replace('=((<CR>|<LF>|0x0A/%0A|0x0D/%0D|\\n|\\r)\S).*=i', null, $email);
return $email;
}


function cleanup_message($message) {
$message = wordwrap($message, 70, "\r\n");
return $message;
}
?>

Сообщение отредактировал BaNru: 22 Май 2017 в 01:54
Простыни кода публикуйте кнопочкой CODE

  • 0



Похожие темы Свернуть

Статистика

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей