@Tipo_4ek
Люблю web и все, что с ним связано

Форма обратной связи php ajax js. Как принять данные на сервере?

Есть форма:
<form form-name="callback" id='callback' class="js-form">
            
                <div class="form-group">
                <input field-name="phone" name="phone" type="text" class="phone form-control" placeholder="+7 (___) ___-__-__">
                <small class="form-text text-muted">Укажите ваш номер телефона и мы свяжемся с вами в ближайшее время.</small>
                </div>
                
                <button class="submit btn btn-warning">Перезвоните мне!</button>
            </form>


js обработчик:
self.Send = function()
	{
		if ( typeof self.GetExport().phone !== 'undefined' )
		{
			var obj = JSON.stringify( self.GetExport() );
			
			console.log( obj );
			
			$.post( 'no', obj )
			.done( function( data )
			{
				console.log( data );
				
				self.Clear();
				modals.HideAll(); // скрыть все модальные окна
				modals.Open( 'form-success' ); // показать modal success
			} );
		}
		else
		{
			alert( 'Номер телефона не может быть пустым!' );
		}
	};


Не могу написать php код для принятия этих данных и отправки на почту
php:
<?php

if (isset($_POST['email'])) {$email = $_POST['email']; if ($email == '') {unset($email);}}
if (isset($_POST['phone'])) {$phone = $_POST['phone']; if ($phone == '') {unset($phone);}}
if (isset($_POST['name'])) {$text = $_POST['name']; if ($text == '') {unset($text);}}
 
$answer=['ok'=>$phone.' = phone'];

if (isset($email) or isset($phone) or isset($text)){
	$to  = "<whisper@***.ru>, " ; 
	$to .= "<***off@mail.ru>"; 

	$subject = "Заявка с сайта!"; 

	$message = ' <b>Имя:'.$name.' </b> </br> <b>Телефон: '.$phone.'</b> </br><i>Почта: '.$email.'</i> </br>';

	$headers  = "Content-type: text/html; charset=utf-8 \r\n"; 
	$headers .= "From: <admin@***>\r\n"; 
	$headers .= "Reply-To: ***off@mail.ru\r\n"; 


	$send = mail($to, $subject, $message, $headers); 

	if ($send == true) {
		$answer =[
		 	'ok'=>'done'
		];
	}
	else {
		$answer=[
			'ok'=>'error'
		];
	}
}
echo json_encode($answer);

?>


В консоли в ответ получаю такое:
{"phone":"71515123131","form":"callback","url":"/"}
{"ok":" = phone"}

Как я понял - я неправильно распарсиваю данные в php. Как тут нужно это делать?
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 1
Начните с проверки входящих данных php-скрипта. Выведите $_POST (да и $_GET) с помощью var_dump или var_export
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы