Пробую создать пошаговую форму и уперся в одну проблему, хочу использовать header в функции, чтобы GET получил 2.
Но, естественно получаю
Cannot modify header information - headers already sent by
Понимаю, что header надо использовать перед тем как передавать браузеру что-то. Но как тут поступить никак не пойму. Может есть более оптимальный вариант решения этой проблемы.
Буду благодарен любым советам!
С Рождеством!
<?php
$step = 1;
if (isset($_GET['step']))
$step = $_GET['step'];
switch($step){
case 1:
?>
<form action="" method="POST">
Имя <input type="text" name="name" />
<input type="Submit" value="submit" name="but" />
</form>
<?
if(isset($_POST['but'])){
$params = array('name'=>$_POST['name']);
nextstep($step);
}
break;
case 2:
print_r($params);
?>
<form action="" method="POST">
Фамилия <input type="text" name="lastname" value=""/>
<input type="Submit" value="submit" name="but" />
</form>
<?
if(isset($_POST)){
$params = array('lastname'=>$_POST['lastname']);
nextstep($step);
}
break;
}
function nextstep($step){
if ($step <4){
header('Location: /calcmaster.php?step='.$step+1);
}
else{
header('Location: /error.php');
}
}
?>