@thedexploit
Сайтами маюсь

Почему не работает редирект на страницу с результатами теста (высчитывает балы и выбирает страницу)?

Доброго времени суток!
Есть тест с 11 вопросами. На каждый вопрос два варианта ответа (правильный - 1 бал, не правильный - 0 балов)

В конце балы подсчитываются. И посетителю предлагается ввести свои данные в форму.
После ввода данных клиент жмет кнопку "Отправить" и его должно перекинуть на страницу по его результатам.

Если балов 4 или меньше то - страница1
Если балов от 8 до 4 то - страница2
Если балов 9 или больше - страница3

Страницы есть, подсчет балов есть (на почту приходит их количество нормально)
Не работает именно переадресация на нужную страницу по количествам баллов.

Кто, что может подсказать? Я плохо соображаю в JS)

Вот так выглядит часть отвечающая за форму и подсчет:

function validation() {
		var mail = $('.final-box').find('input[name="mail"]').val();
		if(!mail) { alert('Заполните поле email') }
		else { return mail }
	}
	
	function validationname() {
		var name = $('.final-box').find('input[name="name"]').val();
		if(!name) { alert('Заполните поле имя') }
		else { return name }
	}
	
	function sendData(score, email, username) {
		var data = new Array();
		
		data.push({name: 'point', value: score});
		data.push({name: 'email', value: email});
		data.push({name: 'name', value: username});
		
		$.ajax({
			url: 'sendmail.php',
			data: data,
			type: 'POST',
			dataType: 'html',
			success: function (datas) {
				console.log(datas);
			}
		});
	}

	
	$('.final-box .btn').on('click', function(){
		if(validation()) {
			var email = validation(),
			name = validationname(),
			score = point;
			if ( score <= 4 ) {
				sendData(score, email, name);
				$('#exampleModal5_active').arcticmodal();
				//document.location.href = "pointsmall.html";
			} else if ( score >= 4 && score <= 8 ) {
				$('#exampleModal5_active').arcticmodal();
				sendData(score, email, name);
				//document.location.href = "pointmedium.html";
			} else if ( score >= 9 ) {
				$('#exampleModal5_active').arcticmodal();
				sendData(score, email, name);
				//document.location.href = "pointbig.html";
			}
		}
	});


А вот часть формы в HTML начиная от кнопки закончить тест и самой формой отправки.
<div class="featurette-divider">
		<div class="container third-container">
						<div class="col-xs-12">
							<p class="text-center">Заполнено : <span class="num">0</span> из 11  Всего 11 вопросов</p>
						</div>
						<div class="clearfix"></div>
						<div class="col-xs-12"><button href="modal-box" class="btn not-active" type="submit">ЗАКОНЧИТЬ ТЕСТ</button></div>
						<div class="placeload"></div>
		</div>
	</div>
	</form>
	
	<div id="final-box" class="container final-box">
		<h4>Почти готово!</h4>
		<p class="description" style="text-align:center;">
			Результаты теста придут Вам на почту
		</p>
		<form>
		<div class="text-1">
		<p>Ваше имя<span class="red">*</span> :</p>
			<input name="name" type="text"> 
		</div>
		<div class="text-1">
		<p>Ваш e-mail<span class="red">*</span> :</p>
			<input name="mail" type="text"> 
		</div>
			<div class="clearfix"></div>

		<div style="display:none" class="utm">
		 <input name="source" value="" type="hidden">
		 <input name="medium" value="" type="hidden">
		 <input name="compaign" value="" type="hidden">
		</div>

			<div class="col-xs-12"><button class="btn submit" type="button">Получить</button></div>
			<div class="clearfix"></div>
		</form>
	</div>


Ну и PHP часть отправки формы до АПИ сервиса подписки :)
$postspoint = $_POST['point'];
	$postsemail = $_POST['email'];
	$postsname = $_POST['name'];
	$backurl = 'http://my-site.com/baz.html';
	
	if ( $postspoint <= 4 ) {
		$backurl = "http://my-site.com/pointsmall.html";
	} else if ( $postspoint >= 4 && $postspoint <= 8 ) {
		$backurl = "http://my-site.com/pointmedium.html";
	} else if ( $postspoint >= 9 ) {
		$backurl = "http://my-site.com/pointbig.html";
	}
	echo "баллы".$postspoint ." страница, " . $backurl . ".";
    /*$to = '';
	$to2 = $postsemail;
    $from = $postsemail;
    $subject = "вы прошли тест";
    $message = "вы прошли тест на ".$postspoint."";
	$subject2 = "Новая заявка";
    $message2 = "На сайте появилась новая заявка, email:".$from.", имеет баллы: ".$postspoint."";
	
    $headers = "From:" . $from;
    mail($to2,$subject,$message,$headers);
	$headers2 = "From:" . $to;
    mail($to,$subject2,$message2,$headers2);
	
    echo "Ваша заявка отправлена, спасибо, " . $postsemail . ".";*/
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
@thedexploit Автор вопроса
Сайтами маюсь
Вопрос решили. Просто человек перестроил форму на работу по другой схеме. результат приходит в письме с подтверждением
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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