Редирект не возвращает значение

Почему не выводит значение переменной $category? index.php

   <form method="POST"  action="category.php" >
    <div class="container">
    <input type="text" name="id_category" value="1">
    </div>
    </form>

category.php

 <?php
    $category=$_POST['id_category']; 
    header('location:goods.php');
    ?>

goods.php

 <? 
    error_reporting('E_ALL');
    include 'category.php';
    echo "$category"; 
    ?>

Ответы (1 шт):

Автор решения: xRef
  1. Вы не можете отправить редирект пользователю, сохранив при этом POST-данные. Используйте сессии для этого
  2. А почему бы в форме сразу не указать action="goods.php"? Вам будет проще сделать так, чем, во-первых, делать редирект на другой скрипт, во-вторых, думать, куда запихнуть данные, чтобы второй скрипт смог до них добраться.
  3. В category.php происходит редирект на goods.php, но в goods.php происходит инклуд category.php. По сути у Вас должно произойти зацикливание, поскольку первый перенаправляет на второй, а второй инклудит первый.
  4. Маленькое замечание. В goods.php в строке echo "$category"; кавычки использовать необязательно. Можно написать и так: echo $category;
→ Ссылка