используя условия if для перенаправления на разные страницы

Я хочу перенаправить на разные страницы при условии, используя php. (Не javascript), я попробовал в качестве примера Вот. Но, к сожалению, это не работает для меня. Вот мой код:

<html>
<body>
<?php
$time_type = $_POST['time_type'];
$driver_type = $_POST['driver_type'];

if (strcmp($time_type, "Arrival") && strcmp($driver_type, "Customer") )
{
header('location: http://localhost:8080/Project/Enter_Details.html');
exit();
}
?>
</body>
</html>

Этот php связан с HTML-страницей ниже.

<html>
<title> Shopping Complex</title>

<body>
<form name = "Type" action = "Type.php" method = "POST">
<fieldset>
<table>
<p>
<tr>
<td><input type = "radio"name = "time_type" value = "Arrival">Arrival</input>
<input type = "radio"name = "time_type" value = "Departure">Departure</input>
</td>
</tr>
<tr>
<td><input type = "radio"name = "driver_type" value = "Staff">Staff</input>
<input type = "radio"name = "driver_type" value = "Customer">Customer</input>
</td>
</tr>
</p>
<p>
<tr>
<td><input type = "submit"value = "Go" id = "buttonId"></input>
</td>
</tr>
</p>
</table>
</fieldset>
</from>
</body>
</html>

Пожалуйста, помогите мне выйти из этого ……

2

Решение

Вы отправляете данные (теги HTML) перед отправкой заголовков (теги PHP)

Для того, чтобы он работал, первым делом в документе сделайте код PHP, а не HTML. Так что измените это (также исправлено вышеупомянутый $ driver_type и пропущены ошибки точки с запятой ниже):

<html>
<body>
<?php
$time_type = $_POST['time_type'];
$driver_type = $_POST['driver_type'];

if (strcmp($time_type, "Arrival") && strcmp($driver_type, "Customer") )
{
header('location: http://localhost:8080/Project/Enter_Details.html');
die;
}
?>
</body>
</html>

Просто для этого:

<?php
$time_type = $_POST['time_type'];
$driver_type = $_POST['driver_type'];

if (strcmp($time_type, "Arrival") && strcmp($driver_type, "Customer") )
{
header('location: http://localhost:8080/Project/Enter_Details.html');
die;
}
?>
3

Другие решения

Если я не ошибаюсь, вы забыли дать точку с запятой ; на ваш header() код

2

1. Проверьте код PHP в Type.php

Избегайте любого вывода HTML, если вы хотите выводить заголовки (или использовать буферизацию вывода для захвата), особенно в этом случае, в котором нет необходимости.

2. Проверьте свой HTML-код:

Это не правильный код HTML:

<input type = "radio" name = "time_type" value = "Arrival">Arrival</input>

Действительная версия:

<input type = "radio" name = "time_type" value ="Arrival">
1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector