2015-07-13 5 views
0

Я пытаюсь перенаправить контактную форму PHP, так что после отправки она перенаправляет пользователя на новую страницу. Как я могу адаптировать следующий код для этого?Перенаправление после отправки электронной почты php json

моя форма РНР

<?php 
$servername = "localhost"; 
$username = "myusername"; 
$password = "password"; 
$dbname = "mydatab"; 
header('Content-Type: application/json'); 
// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 

$user = $conn->real_escape_string(htmlspecialchars(trim($_POST['post_kod']))); 
$query = "SELECT `kod` FROM `posts` WHERE `kod` = '$user'"; 

$result = $conn->query($query); 
if($result->num_rows > 0) { 

echo json_encode(array('returned_val' => 'Code is already use!')); 
} 
else 
{ 
$result = $conn->query("SELECT * FROM kodovi WHERE special = '".$user."'"); 
if($result->num_rows > 0) 
{ 


$sql = "INSERT INTO posts (pravno, ime, prezime, email, kontakt, kod) 
VALUES ('$_POST[post_pravno]', '$_POST[post_ime]', '$_POST[post_prezime]', '$_POST[post_email]', '$_POST[post_kontakt]', '$_POST[post_kod]')"; 
if (mysqli_query($conn, $sql)) { 

$to = $_POST["post_email"]; 
$subject = "GOOD"; 
$post_ime="$_POST[post_ime]"; 
$post_kod="$_POST[post_kod]"; 
$message = " 
<html> 
<head> 
<title></title> 
</head> 
<body> 
<p>HELLO</p> 
</body> 
</html> 
"; 

// Always set content-type when sending HTML email 
$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 

// More headers 
$headers .= 'From: <[email protected]>' . "\r\n"; 

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



echo json_encode(array('returned_val' => 'Thanks!')); 
} else { 
echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
} 

mysqli_close($conn); 
} 
else 
{ 
echo json_encode(array('returned_val' => 'Code is not valid')); 
} 

} 

Если JSON возвращается (Спасибо!) Я хочу, чтобы перенаправить на google.com

в index.php я есть

$("#enableButtonForm").submit(function(event) { 


    event.preventDefault(); 

$("#content-info-inner").css({ display: "block" }); 


    $("#content-info").html(''); 


    var values = $(this).serialize(); 


    $.ajax({ 
     url: "send_post.php", 
     type: "post", 
     data: values, 
     success: function(data) { 

    $("#content-info").text(data.returned_val); 
}, 
     error:function(){ 
      alert("failure"); 
      $("#content-info").html('There is error while submit'); 
     } 
    }); 
}); 
+0

использование window.location.href = «http://www.google.com» –

+0

куда добавьте этот код, можете ли вы отправить мне пример моего существующего кода –

+0

, поскольку вы использовали запрос ajax, поэтому вам нужно добавить эту функцию с успехом вашего запроса ajax. –

ответ

0

изменил эту линию

echo json_encode(array('returned_val' => 'Thanks!')); 

С этим одним

$response = array(
'returned_val' => 'Thanks!', 
'redirect' => 'http://www.domain.com' // Here you can add URL on which you wants to redirect the page. 
); 

echo json_encode($response); 

также добавить другой линия в вашем АЯКСЕ функции успеха после этой строки

$("#content-info").text(data.returned_val); 

добавить эту строку, чтобы сделать редирект рабочей

window.location.href = data.redirect; 
+0

Да, чувак работает, но если пользователь ошибается в форме, он перенаправляет на mywebsite.com/undefined –

+0

, чтобы вы могли проверить этот URL-адрес на вашем PHP-коде, если условие истинно, тогда используйте URL-адрес по умолчанию. , –

+0

Также, пожалуйста, отметьте его ответом, если его работа для вас :) –

0

PHP

header("Location: http://www.google.com"); 

или

echo '<script>window.location.href = "http://www.google.com";</script>'; 

JS

window.location.href = "http://www.google.com"; 
+0

Да, но не работает, не знаю, где добавить этот код :) –

+0

Right under - echo json_encode (array ('returns_val' => 'Спасибо!')); – Maurize

+0

это дает мне «Ошибка при отправке» –