PHP - Incrustar seleccion del radio en una matriz(array) php y luego usarla en post

   
Vista:

Incrustar seleccion del radio en una matriz(array) php y luego usarla en post

Publicado por solesvia (2 intervenciones) el 28/03/2014 08:36:34
Hola Programadores, necesito que me ayuden con un problema en donde estoy estancado desde hace un buen tiempo.

La pagina debe mostrar un formulario con preguntas tipo radio select y de texto (pero apenas voy en las preguntas de radio), que la persoa seleccione su respuesta y luego la envie hacia otra pagina que es la que me calificara la pregunta. Como apenas estoy empezando con Arrays tengo diversos problemas

[*]1
No se como se pasa una variable arrays por POST

[*]2
quiero hacer una forma sencilla de verificar la respuesta, pero no me deja hacer de esta fora por que necesito llamar el indice del vector que esta mas adentro

[*]3
No se si en el name del radio se debe colocar la misma variable array que llamo o debe ser otra


Aqui esta el codigo que he avanzado, lo hice en una pagina para mayor comodida pero lo necesito en 2 paginas
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
$pregunta[0]=array("Quien descubrio america","John Lenon","Matusalen","Homero simpson","Americo vespucio","4");
$pregunta[1]=array("Tu pais se llama","peru","colombia","eeuu","nose","2");
//$matriz[][]  otro posible ejemplo
if(isset($_POST['accion']) && $_POST['accion'] == "enviar"){//1:???:
	//echo "Cierto ";
	if(!empty($_POST['pregunta'])){
		$campo = $_POST['pregunta'];
		foreach($campo as $indice=>$value){
		echo $indice.'--'.$value.'</br>';
		$item = (count($pregunta[0]))-2;//cuenta las preguntas para conocer la posicion de el que tiene la respuesta, se le resta 2 por la posicion de la respuesta y por que empieza a contar desde 1, cuando(siendo que) el vector se inicializa en 0
		echo $item.' * </br>'.$pregunta[0][$indice].' **</br>';
		if ($pregunta[0][$indice] == $value){//2:???:
			echo 'La Respuesta es correcta ( '.$pregunta[0][$value] .' )</br>';
		}
		else
		{
			echo 'La Respuesta '.$pregunta[0][$value].' INCORRECTA</br>';
		}
		//echo $pregunta[0][$value];
		print_r($pregunta.'</br>');
		}
	}else
	{
		echo "Debe escojer una opcion";
 
	}
}
?>
<html>
	<head><title> Manejo de arreglos</title></head>
	<body>
	<h2>
	pregunta:
	</h2>
	<?
	echo $pregunta[0][0];
 
	?>
	<form name="frmQuiz" action="" method="POST">
		<input type="radio" name="pregunta[0]" value="1" >  <!--3-->
		<label for="pregunta1"> <? echo $pregunta[0][1];?>
		<input type="radio" name="pregunta[0]" value="2" >
		<label for="pregunta1"> <? echo $pregunta[0][2];?>
		<input type="radio" name="pregunta[0]" value="3" >
		<label for="pregunta1"> <? echo $pregunta[0][3];?>
		<input type="radio" name="pregunta[0]" value="4" >
		<label for="pregunta1"> <? echo $pregunta[0][4];?></br>
 
		<input type="hidden" name="accion" value="enviar"/>
		<input type="submit" value="Enviar"/>
 
	</form>
	</body>
</html>
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

Incrustar seleccion del radio en una matriz(array) php y luego usarla en post

Publicado por solesvia (2 intervenciones) el 28/03/2014 13:42:10
Hola Amigos. No se si sera por el sueño que tenia, perome levante y me puse a analizar el codigo hasta que por fin encontre la forma de calificar la pregunta.

Les actualizo codigo

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
32
<?php
$pregunta[0]=array("Quien descubrio america","John Lenon","Matusalen","Homero simpson","Americo vespucio","4");
$pregunta[1]=array("Tu pais se llama","peru","colombia","eeuu","nose","2");
//$matriz[][]  otro posible ejemplo
if(isset($_POST['accion']) && $_POST['accion'] == "enviar"){
    //echo "Cierto ";
    if(!empty($_POST['pregunta'])){
        $campo = $_POST['pregunta'];
        foreach($campo as $indice=>$value){
        echo $indice.'--'.$value.'</br>';
        $item = (count($pregunta[0]))-1;//cuenta las preguntas para conocer la posicion de el que tiene la respuesta, se le resta 1 por que empieza a contar desde 1, cuando(siendo que) el vector se inicializa en 0
        /*echo ' Item: '.$item.' * </br>Pregunta '.$pregunta[0][$item].' **</br> Value '.$value.' *** </br>';*/
        //compara si el valor escojido en el radio (value)
        //es = a la respuesta corecta, que en este caso se 
        //encuentra en la ultima posicion del vector
        if ($pregunta[0][$item] == $value){
            echo 'La Respuesta es correcta ( '.$pregunta[0][$value] .' )</br>';
        }
        else
        {
            echo 'La Respuesta '.$pregunta[0][$value].' INCORRECTA</br>';
        }
        //echo $pregunta[0][$value];
        print_r($pregunta.'</br>');
        }
    }else
    {
        echo "Debe escojer una opcion";
 
    }
}
?>

Aunque me faltan otros pasos mas. Ayudenme en lo que mas puedan, se los agradeceria
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