Я хочу перенаправить на разные страницы при условии, используя 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>
Пожалуйста, помогите мне выйти из этого ……
Вы отправляете данные (теги 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;
}
?>
Если я не ошибаюсь, вы забыли дать точку с запятой ;
на ваш header()
код
Type.php
Избегайте любого вывода HTML, если вы хотите выводить заголовки (или использовать буферизацию вывода для захвата), особенно в этом случае, в котором нет необходимости.
Это не правильный код HTML:
<input type = "radio" name = "time_type" value = "Arrival">Arrival</input>
Действительная версия:
<input type = "radio" name = "time_type" value ="Arrival">