2015-05-12 5 views
0

Вот первый бит моего кода формыPHP перенаправление на другую страницу после отправки формы

<form action="PHP/form.php" id="msform" method="post"> 

<fieldset id="owner_service"> 
<h2> ARE YOU A DOG OWNER OR SERVICE PROVIDER?</h2> 
<legend>owner_service</legend> 
<div class="owner_service"> 
<input type="radio" id="service" name="owner_service" value="service"> 
<label for ="service"><h5>SERVICE PROVIDER</h5></label> 
<input type="radio" id="owner" name="owner_service" value="owner"> 
<label for ="owner"><h5>DOG OWNER</h5></label> 
</div> 
<input type="button" name="next" class="next action-button" id="next" value="NEXT" /> 
</fieldset> 

и вот PHP

<?php 
session_start(); 

$servername = ""; 
$username = ""; 
$password = ""; 
$dbname = ""; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 


$sql = "INSERT INTO pets (owner_service, Gender, Age, Size, Location, idealLocation, Service) 
VALUES ('{$_POST['owner_service']}', '{$_POST['gender']}', '{$_POST['age']}', '{$_POST['size']}', '$locationCommaString', '{$_POST['ideal_location']}', '{$_POST['service']}')"; 



if($conn->query($sql) === TRUE) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 


?> 

Я получил свою форму работает, так что результаты в но я хочу, чтобы пользователь перешел на новую страницу в зависимости от того, нажали ли они «поставщик услуг» или «владелец собаки». Я понятия не имею, куда помещать заголовок, потому что, если я заменю оператор if, который у меня уже есть, результаты не будут отображаться в моей базе данных.

ответ

0
if(isset($_POST['next'])) { 

    // your code to save data 
    // after submit without db error 

    if($_POST['owner_service'] == 'service') { // redirect page; } 
    else if($_POST['owner_service'] == 'owner') { // redirect page; } 

} 

Поместить его в ту же область эхо «Новая запись создана успешно»;

0

Операция if выполняется после выполнения запроса. Подобно тому, что @laimingl предложил

0
<?php 
session_start(); 

$servername = ""; 
$username = ""; 
$password = ""; 
$dbname = ""; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 


$sql = "INSERT INTO pets (owner_service, Gender, Age, Size, Location, idealLocation, Service) 
VALUES ('{$_POST['owner_service']}', '{$_POST['gender']}', '{$_POST['age']}', '{$_POST['size']}', '$locationCommaString', '{$_POST['ideal_location']}', '{$_POST['service']}')"; 



if($conn->query($sql) === TRUE) { 
    echo "New record created successfully"; 
    $serv = $_POST['owner_service'] ; 
    switch($serv){ 
    case 'case 1': 
      // Page redirection code here 
    break; 

    case 'case 2': 
    // Page redirection code here 
    break; 





} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 


?> 
+0

Эй, спасибо за это, но когда я пробую этот код, он просто приводит меня к «эху; и если я попытаюсь удалить этот код, он приведет меня к пустой странице. Я покажу вам код, который я сделал if ($ conn-> query ($ sql) === TRUE) { $ serv = $ _POST ['owner_service']; switch ($ serv) { case 'case 1': header ('Location: service_form.html'); \t \t выход; break; case 'case 2': \t \t header ('Местоположение: owner_form.html'); \t \t выход; break; } } else { echo "Ошибка:". $ sql. "
". $ Conn-> ошибка; } – laimingl

+0

Решена ли ваша проблема или нет? –

+0

Мне удалось решить эту проблему, используя javascript document.location – laimingl

-1

Просто измените input type="button" на input type="submit".

Смежные вопросы