У меня есть обычная контактная форма и отдел продаж с момента отправки контактной формы с recaptcha. У меня есть все контактные данные из поля стоимости и передачи в отдел продаж.Когда в отделе продаж отключена функция рекапчи, она работает нормально, но когда я включаю требуемый режим продаж в отделе продаж, это не создает потенциальных клиентов в отделе продаж.Есть ли способ подать требуемый отчет о продажах через скрытый метод.ИЛИ есть ли способ использовать recptcha из одной формы в другую?
if(isset($_POST['submitSalesForceForm_test'])) {
$post_data = $_POST;
$error_message = '';
$captcha_settings = sanitize_text_field($post_data['captcha_settings']);
$first_name = sanitize_text_field($post_data['first_name']);
$last_name = sanitize_text_field($post_data['last_name']);
$email = sanitize_email($post_data['email']);
$company = sanitize_text_field($post_data['company']);
$phone = sanitize_text_field($post_data['phone']);
$state_code = sanitize_text_field($post_data['state_code']);
$description = sanitize_textarea_field($post_data['description']);
$g_recaptcha_response = sanitize_textarea_field($post_data['g-recaptcha-response']);
if (empty($first_name) || empty($last_name) || empty($email) || empty($company) || empty($phone) || empty($state_code) || empty($description)):
$error_message = "Invalid entry";
endif;
if(empty($error_message)){
if ( !is_email( $email ) ) {
$error_message = 'Email address is invalid.';
}
}
if(empty($error_message)):
if(empty(trim($g_recaptcha_response))):
$error_message = "You cannot leave captcha code empty.";
else:
$secret = $secret;
$captcha = $_POST['g-recaptcha-response'];
$remoteip = $_SERVER['REMOTE_ADDR'];
$response=json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=".$captcha."&remoteip=".$remoteip), true);
if($response['success'] != 1):
$error_message = "Verification failed, please try again.";
endif;
endif;
endif;
if (empty($error_message)) {
$fields_string = "";
$url = "https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8";
$fields = array(
'captcha_settings' => '{"keyname":"test","fallback":"true","orgId":"xxxxxxxxxxxx","ts":""}',
'oid' => 'xxxxxxxxxxxx',
'retURL' => $returnurl,
'first_name' => $first_name,
'last_name' => $last_name,
'email' => $email,
'phone' => $phone,
'state' => $state_code,
'country' => '$country',
'company' => $company,
'description' => $description,
'g-recaptcha-response' => $g_recaptcha_response,
'submit' => 'Submit',
);
//url-ify the data for the POST
foreach ($fields as $key => $value) {
$fields_string .= $key . '=' . $value . '&';
}
rtrim($fields_string, '&');
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_POST => count($fields),
CURLOPT_POSTFIELDS => $fields_string,
));
$response = curl_exec($curl);
echo $status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$err = curl_error($curl);
curl_close($curl);
if ($err) :
$error_message = 'Error curl. Please try again';
elseif ($status == 200 || $status == 400):
$result = json_decode($response, true); //because of true, it's in an array
wp_redirect( $returnurl);
exit;
else:
$error_message = 'Error please try again';
endif;
}
if (!empty($error_message)) {
?>
<script>
jQuery(document).ready(function () {
var scroll_hight_sales_form_error_msg = jQuery('.main-menu-wrapper').outerHeight()
jQuery('html, body').animate({
scrollTop: jQuery('.sales-form-error-msg').offset().top - scroll_hight_sales_form_error_msg
}, 'slow');
});
</script>
<?php
echo '<div class="sales-form-error-msg" style="color: #f30027">';
echo $error_message;
echo '</div>';
}
}
?>
<form action="#" method="POST">
<label for="first_name" class="sr-only">First Name</label>
<input id="first_name" maxlength="40" name="first_name" size="20" type="text" placeholder="First Name*" required value="<?php if(isset($first_name)){ echo $first_name;} ?>" />
<label for="last_name" class="sr-only">Last Name</label>
<input id="last_name" maxlength="80" name="last_name" size="20" type="text" placeholder="Last Name*" required value="<?php if(isset($last_name)){ echo $last_name; } ?>"/>
<label for="email" class="sr-only">Email</label>
<input id="email" maxlength="80" name="email" size="20" type="email" placeholder="Email*" required value="<?php if(isset($email)){ echo $email; } ?>"/>
<label for="phone" class="sr-only">Phone</label>
<input id="phone" maxlength="40" name="phone" size="20" type="text" placeholder="Phone*" required value="<?php if(isset($phone)){ echo $phone;} ?>"/>
<label for="state_code" class="sr-only">State/Province</label>
<select id="state_code" name="state_code" class="input-select" required>
<option value="">Select State*</option>
<?php foreach ($state_name_array as $key => $value): ?>
<option value="<?php echo $key; ?>" <?php if($key == $state_code) echo "selected"; ?>><?php echo $value; ?></option>
<?php endforeach; ?>
</select>
<label for="company" class="sr-only">Company</label>
<input id="company" maxlength="40" name="company" size="20" type="text" placeholder="Employer*" required value="<?php if(isset($company)){ echo $company;} ?>"/>
<label for="description" class="sr-only">Description</label>
<textarea name="description" placeholder="Message*" required><?php if(isset($description)){ echo $description;} ?></textarea>
<br>
<div class="g-recaptcha" data-sitekey="<?php echo $sitekey;?>"></div>
<input name="submitSalesForceForm_test" type="submit" />
</form>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>