可以有$ _SESSION = $ _POST吗?

时间:2014-05-02 22:22:55

标签: php html forms 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 保存值STRONG>。我有一些事要让它起作用,但没有运气。

对于我所缺少的任何建议或帮助将不胜感激。

1 个答案:

答案 0 :(得分:10)

问题在于,当您在main3.phpresultados.php提交表单时,没有number输入。您可以将其添加为第二种形式的隐藏输入:

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

此外,您不应在<html>的{​​{1}}循环中输出for