Возможно ли иметь $ _SESSION = $ _POST?

Я не знаю, поступаю ли я неправильно, но скажу, что у меня это есть.

formulario.php

<? session_start(); $_SESSION['promedio'] = $number; echo ' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <meta content="text/html; charset=utf-8" http-equiv=Content-Type> <body> <form action="main3.php" method="post"> Número de Encuestas <input type="number" name="number"> <input type="submit" value="Enviar"/> </form> </body> </html> '; ?> 

Теперь, в main3.php

 <? session_start(); $number = $_POST['number']; $_SESSION['promedio'] = $number; function Calcular($edades, $estado_civil, $genero){ global $number; foreach($edades as $edad){} echo "El promedio de edad general es: ".((array_sum($edades))/$number)."<br>"; $x; $y; $z; $w; $v; $u; $t; foreach ($genero as $i) { foreach ($i as $j) { if($j == "Hombres") { $u++; } if($j == "Mujeres") { $t++; } $count_values[$j]++; } } echo "Cantidad de hombres: ".$u."<br>", "Cantidad de mujeres: ".$t."<br>"; foreach ($estado_civil as $a) { foreach ($a as $b) { if($b == "Soltero") { $x++;; } if($b == "Casado") { $y++; } if($b == "Separado") { $z++; } if($b == "Libre") { $w++; } if($b == "Viudo") { $v++; } $count_values[$b]++; } } echo "Cantidad de personas solteras: ".$x."<br>", "Cantidad de personas casadas: ".$y."<br>", "Cantidad de personas separadas: ".$z."<br>", "Cantidad de personas en unión libre: ".$w."<br>", "Cantidad de personas viudas: ".$v."<br>"; } echo '<form type="submit" action="resultados.php" method="post">'; for ($i=0; $i < $number; $i++) { echo ' <html> <h2>Datos de la persona '.$i.'</h2> Edad <input type="number" name="edades[]"/> <br><br> Sexo <br><br> <input type="radio" name="genero['.$i.'][]" value="Hombres"/> Masculino <br> <input type="radio" name="genero['.$i.'][]" value="Mujeres"/> Femenino <br><br> Estado Civil <br><br> <input type="radio" name="estado_civil['.$i.'][]" value="Soltero"/> Soltero <br> <input type="radio" name="estado_civil['.$i.'][]" value="Casado"/> Casado <br> <input type="radio" name="estado_civil['.$i.'][]" value="Separado"/> Separado <br> <input type="radio" name="estado_civil['.$i.'][]" value="Libre"/> Unión Libre <br> <input type="radio" name="estado_civil['.$i.'][]" value="Viudo"/> Viudo <br><br> '; } echo ' <input type="submit"> </form> </html> '; ?> 

Последний файл resultados.php

 <? include ("main3.php"); echo Calcular($_POST['edades'], $_POST['estado_civil'], $_POST['genero']); ?> 

Итак, как вы можете видеть, я вызываю переменную $ number в функцию, и это проблема. Он продолжает говорить, что я деляю на ноль, что означает, что $ number не сохраняет значение через $ _SESSION, когда я называю это в Average () . У меня есть кое-что, чтобы заставить это работать, но не повезло.

Любое предложение или помощь о том, что мне не хватает, будут оценены.

Проблема заключается в том, что при main3.php формы в main3.php на resultados.php нет ввода number . Вы можете добавить его как скрытый ввод во второй форме:

 echo '<form type="submit" action="resultados.php" method="post">'; echo "<input type='hidden' name='number' value='$number'>"; 

Кроме того, вы не должны выводить <html> в цикле for в main3.php .