PHP - Tomar el valor de una serie de input text creados con for

 
Vista:
sin imagen de perfil

Tomar el valor de una serie de input text creados con for

Publicado por Kevin (2 intervenciones) el 11/11/2016 21:06:29
Este es parte del código
En el for se crean varios input del tipo text dependiendo el numero recibido
lo que quiero saber es como podría tomar el valor que ingrese en el campo de texto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$num = $_POST["Numero"];
$aux_1= $_GET['aux'];
			$num_1=array();
			$num_2=array();
			$num_3=array();
if($num>=1 && $num<=10){
	switch($aux_1){
		case "suma":
		for($i=0;$i<$num;$i++){
			$num_1[$i]=rand(1,100);
			$num_2[$i]=rand(1,100);
			echo $num_1[$i]."+".$num_2[$i];?>
            <form method="post">
            <input type="text" name="Resultado"><br>
            </form>
            <?php
			$num_3[$i]=($num_1[$i])+($num_2[$i]);
		}
?>
<form action="Resultado.php" method="post">
<input type="hidden" name="correctos" value="<?php echo(serialize($num_3));?>">
<button type="submit" name="enviar">Enviar</button>
</form>
<?php
break;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Tomar el valor de una serie de input text creados con for

Publicado por Carlos (18 intervenciones) el 11/11/2016 21:53:26
Podrías hacer algo como esto:
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$num = $_POST["Numero"];
$aux_1= $_GET['aux'];
 
$num_1=array();
$num_2=array();
$num_3=array();
if($num>=1 && $num<=10) {
    switch ($aux_1) {
        case "suma":
            ?>
            <form action="Resultado.php" method="post">
            <?php
            for ($i = 0; $i < $num; $i++) {
                $num_1[$i] = rand(1, 100);
                $num_2[$i] = rand(1, 100);
                echo $num_1[$i] . "+" . $num_2[$i]; ?>
                    <input type="text" name="<?php echo $num_1[$i] .'+'. $num_2[$i]; ?>" data-suma="<?php echo $num_1[$i] .'+'. $num_2[$i]; ?>"><br>
                <?php
                $num_3[$i] = ($num_1[$i]) + ($num_2[$i]);
            }
            ?>
 
<!--                <input type="hidden" name="correctos" value="--><?php //echo(serialize($num_3)); ?><!--">-->
                <button type="submit" name="enviar">Enviar</button>
            </form>
            <?php
            break;
    }
}
?>

y en Resultado.php

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$post = $_POST;
unset($post['enviar']);
foreach ($post as $key => $suma){
    $result=array_sum(explode('+',$key));
    echo "<br>la suma ". $key . "es ".$result;
    if ($result==$suma){
        echo " CORRECTO ";
    }else{
        echo " INCORRECTO ";
    }
    echo "Su respuesta fue ". $suma;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Tomar el valor de una serie de input text creados con for

Publicado por Alejandro (839 intervenciones) el 11/11/2016 22:18:19
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
No solo estas creando varios inputs sino que cada input es un formulario.
Los input los puedes nombrar name="Resultado[<?echo $i?>]".
Cuando los recibas seran un arreglo $_POST[Resultado][n] donde n es un numero.

Pienso que esto es lo que querias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$num = $_POST["Numero"];
$aux_1= $_GET['aux'];
$num_1=array();
$num_2=array();
$num_3=array();
if($num>=1 && $num<=10){
	switch($aux_1){
		case "suma":?>
			<form action="Resultado.php" method="post"><?
				for($i=0;$i<$num;$i++){
					$num_1[$i]=rand(1,100);
					$num_2[$i]=rand(1,100);
					echo $num_1[$i]."+".$num_2[$i];
					echo "<input type='text' name='Resultado[$i]'><br>";
					$num_3[$i]=($num_1[$i])+($num_2[$i]);
				}?>
				<input type="hidden" name="correctos" value="<?php echo(serialize($num_3));?>">
				<button type="submit" name="enviar">Enviar</button>
			</form><?
			break;
	}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Tomar el valor de una serie de input text creados con for

Publicado por kev (2 intervenciones) el 12/11/2016 00:34:59
al usar tu código
echo "<input type='text' name='Resultado[$i]'><br>";
solo lee el ultimo no se a que se deba
también lo cambie
?> <input type='text' name='Resultado[<? echo $i?>]'><br> <?
y sigue tomando solo el ultimo valor
sabras como se pueda tomar ese valor si enviarlo ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar