PHP - Problema al recoger datos de formulario

 
Vista:

Problema al recoger datos de formulario

Publicado por Fede (10 intervenciones) el 10/05/2018 00:25:42
Hola a todos, ¿cómo están? espero que bien.. Tengo un problema bastante simple, pero no encuentro el error y quiero saber si me pueden dar una mano:

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
='editor_code'><form method="POST" action="ingresar.php" align="Center" name="Formulario" id="Formulario">
    <p style="font-variant: small-caps;"><u>Agregar</u>:&nbsp;
    <select id="tipoMaterial" name="tipoMaterial" onChange="tipoMaterial()">
       <option value="0" selected>Seleccionar...</option>
       <option value="1">Catéteres</option>
       <option value="2">Cuerdas</option>
       <option value="3">Balones</option>
       <option value="4">Introductores</option>
       <option value="5">Varios</option>
    </select></p>
    <div class="Cateteres" style="display:block;">
       <label id="izq">* Cantidad:</label><label id="der"><input type="text" style="text-align: center; width: 25px;" name="Cantidad" maxlength="3"></label><br><br>
       <label id="izq">* Tipo:</label><label id="der">
           <select name="Tipo" id="Tipo">
               <option value="0">Seleccionar...</option>
               <option value="1">Diagnóstico</option>
               <option value="2">Guía</option>
           </select></label><br>
       <label id="izq">* Curva:</label><label id="der"><input type="text" style="text-align: center;" size="3" name="Curva" maxlength="3"></label><br>
       <label style="display: inline-block; width: 150px; text-align: left; font-size: 17; float: left; padding-left: 100px;">* Medida curva:</label><label id="der"><input type="text" style="width: 20px; text-align: center" id="Medida1" name="Medida1" maxlength="1">.<input type="text" style="width: 20px; text-align: center" id="Medida1_" name="Medida1_" maxlength="1"></label><br>
       <label id="izq">* Fr:</label><label id="der"><input type="text" style="text-align: center;" size="1" name="Fr" maxlength="1"></label><br>
       <label id="izq">* Largo:</label><label style="padding-left: 82px; padding-right: 38px;"><input type="text" style="text-align: center;" size="3" name="Largo" maxlength="3">cm</label><br>
       <label id="izq">* Lúmen:</label><label id="der">0.03&nbsp;<input type="text" style="width: 20px; text-align: center; float: right; clear: right;" id="Lumen" name="Lumen" maxlength="1"></label><br>
       <label id="izq">Info extra:</label><label id="der"><input type="text" style="text-align: center;" size="10" name="InfoExtra"></label><br>
    </div>
<div style="padding-top: 10px;"><input type="submit" value="Ingresar"></div>
</form>

Al principio, mediante un select y javascript, selecciona la opción de Tipo de material a ingresar y en base a eso, se mostraría el <div> que sigue, pero lo pongo todo así de una para que entiendan el error.

ingresar.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
$Cantidad = $_POST['Cantidad'];
$Tipo = $_POST['Tipo'];
$Curva = $_POST['Curva'];
$MedidaCurva[0] = $_POST['Medida1'];
$MedidaCurva[1] = $_POST['Medida1_'];
$Fr = $_POST['Fr'];
$Largo = $_POST['Largo'];
$Lumen = $_POST['Lumen'];
$InfoExtra = $_POST['InfoExtra'];
 
echo $Cantidad;
echo "<br>";
echo $Tipo;
echo "<br>";
echo $Curva;
echo "<br>";
echo $MedidaCurva[0];
echo "<br>";
echo $MedidaCurva[1];
echo "<br>";
echo $Fr;
echo "<br>";
echo $Largo;
echo "<br>";
echo $Lumen;
echo "<br>";
echo $InfoExtra;
echo "<br>";
die();
?>

El código original es diferente, pero para depurar más fácilmente lo resumí a imprimir los valores en pantalla. Supongamos que lleno el formulario con datos reales, el resultado siempre es algo como esto:


0
"VALOR QUE SE HAYA INGRESADO EN 'CURVA'"





Es decir, me muestra como que la mayoría de las variables (excepto Curva) están vacías y que el value para elegir Tipo, siempre se queda en 0, así yo seleccione otra opción. Es una boludez, porque no hago nada raro más que recogerlas y mostrarlas mediante echo... Se me ocurrió que quizás puede haber algún problema en el <div> pero llegué a la conclusión de que tampoco, ya que el valor de "Curva" me lo da bien.

Si alguien me puede dar una mano, le agradecería...
Saludos.
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
Imágen de perfil de santi
Val: 588
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema al recoger datos de formulario

Publicado por santi (204 intervenciones) el 10/05/2018 00:48:32
Hola,

no me ha quedado muy claro pero he hecho la prueba con el código y mi resultado es el siguiente:

2
1
cur
2
2
2
2

2


No se exactamente el error o lo que necesitas pero a mi el form me ha funcionado...
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

Problema al recoger datos de formulario

Publicado por Fede (10 intervenciones) el 10/05/2018 03:12:59
En el código original no funciona de tal forma, chequealo por vos mismo si tenés un minuto:

ingresomaterial.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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<html>
<head>
  <title>Sistema de control - Zeta</title>
  <link rel="stylesheet" type="text/css" href="style.css">
     <script type="text/javascript">
	    function tipoMaterial() {
 
		var tipoM = document.getElementById("tipoMaterial");
		var tipoSeleccionado = tipoM.options[tipoM.selectedIndex].value;
		if(tipoSeleccionado == "1") {
			Cateteres.style.display = "block";
		} else if(tipoSeleccionado == "2") {
			Cuerdas.style.display = "block";
		} else if(tipoSeleccionado == "3") {
			Balones.style.display = "block";
		} else if(tipoSeleccionado == "4") {
			Introductores.style.display = "block";
		} else if(tipoSeleccionado == "5") {
			Varios.style.display = "block";
		} else {
		    alert("Error");
		}
	}
	</script>
</head>
<body>
   <p id="TGeneral">Sistema de control - Zeta</p>
   <p id="TSecundario">Ingreso de material</p>
    <?php
	 session_start();
	   if(isset($_SESSION['Limite']) && time() < $_SESSION['Limite']) {
	?>
      <form method="POST" action="ingresar.php" align="Center" name="Formulario" id="Formulario">
	    <p style="font-variant: small-caps;"><u>Agregar</u>:&nbsp;
		<select id="tipoMaterial" name="tipoMaterial" onChange="tipoMaterial()">
		   <option value="0" selected>Seleccionar...</option>
		   <option value="1">Catéteres</option>
		   <option value="2">Cuerdas</option>
		   <option value="3">Balones</option>
		   <option value="4">Introductores</option>
		   <option value="5">Varios</option>
		</select></p>
		<div class="Cateteres" style="display:block;">
		   <label id="izq">* Cantidad:</label><label id="der"><input type="text" style="text-align: center; width: 25px;" name="Cantidad" maxlength="3"></label><br><br>
		   <label id="izq">* Tipo:</label><label id="der">
		                       <select name="Tipo" id="Tipo">
		                           <option value="0">Seleccionar...</option>
		                           <option value="1">Diagnóstico</option>
								   <option value="2">Guía</option>
							   </select></label><br>
		   <label id="izq">* Curva:</label><label id="der"><input type="text" style="text-align: center;" size="3" name="Curva" maxlength="3"></label><br>
		   <label style="display: inline-block; width: 150px; text-align: left; font-size: 17; float: left; padding-left: 100px;">* Medida curva:</label><label id="der"><input type="text" style="width: 20px; text-align: center" id="Medida1" name="Medida1" maxlength="1">.<input type="text" style="width: 20px; text-align: center" id="Medida1_" name="Medida1_" maxlength="1"></label><br>
		   <label id="izq">* Fr:</label><label id="der"><input type="text" style="text-align: center;" size="1" name="Fr" maxlength="1"></label><br>
		   <label id="izq">* Largo:</label><label style="padding-left: 82px; padding-right: 38px;"><input type="text" style="text-align: center;" size="3" name="Largo" maxlength="3">cm</label><br>
		   <label id="izq">* Lúmen:</label><label id="der">0.03&nbsp;<input type="text" style="width: 20px; text-align: center; float: right; clear: right;" id="Lumen" name="Lumen" maxlength="1"></label><br>
		   <label id="izq">Info extra:</label><label id="der"><input type="text" style="text-align: center;" size="10" name="InfoExtra"></label><br>
		</div>
		<div class="Cuerdas" style="display:none;">
		   <label id="izq">* Cantidad:</label><label id="der"><input type="text" style="text-align: center; width: 25px;" name="Cantidad" maxlength="3"></label><br><br>
		   <label id="izq">* Nombre:</label><label id="der"><input type="text" style="text-align: center;" size="6" id="Nombre" name="Nombre"></label><br>
		   <label id="izq">* Diámetro:</label><label id="der">0.0&nbsp;<input type="text" style="text-align: center;" size="1" id="Diametro" name="Diametro" maxlength="2"></label><br>
		   <label id="izq">* Largo:</label><label style="padding-left: 62px; padding-right: 11px;"><input type="text" style="text-align: center;" size="2" id="Largo" name="Largo" maxlength="3">cm</label><br>
		   <label id="izq">Tipo:</label><label id="der"><input type="text" size="4" style="text-align: center;" id="Fr" name="Fr"></label><br>
		   <label id="izq">Info extra</label><label id="der"><input type="text" style="text-align: center;" size="10" id="InfoExtra" name="InfoExtra"></label><br>
		</div>
		<div class="Balones" style="display:none;">
		   <label id="izq">* Cantidad:</label><label id="der"><input type="text" style="text-align: center; width: 25px;" name="Cantidad" maxlength="3"></label><br><br>
		   <label id="izq">* Nombre:</label><label id="der"><input type="text" style="text-align: center;" size="6" id="Nombre" name="Nombre"></label><br>
		   <label id="izq">* Tipo:</label><label id="der"><select name="Tipo" id="Tipo">
		                           <option value="0" selected>Seleccionar...</option>
		                           <option value="Monorail">Monorail</option>
								   <option value="OTW">OTW</option>
							   </select></label><br>
		   <label id="izq">* Medida 1:</label><label id="der"><input type="text" style="width: 20px; text-align: center" id="Medida1" name="Medida1" maxlength="1">.<input type="text" style="width: 20px; text-align: center" id="Medida1_" name="Medida1_" maxlength="1"></label><br>
		   <label id="izq">* Medida 2:</label><label id="der"><input type="text" style="text-align: center;" " size="1" id="Medida1" name="Medida1" maxlength="3"></label><br>
		   <label id="izq">* Largo:</label><label style="padding-left: 82px; padding-right: 38px;"><input type="text" style="text-align: center;" size="3" id="Largo" name="Largo" maxlength="3">cm</label><br>
		   <label id="izq">NC:</label><label id="der"><input type="checkbox" name="NC" value="NC"></label><br>
		   <label style="display: inline-block; width: 150px; text-align: left; font-size: 17; float: left; padding-left: 100px;">Lúmen (En OTW):</label><label id="der">0.0&nbsp;<input type="text" style="width: 25px; text-align: center; float: right; clear: right;" id="Lumen" name="Lumen" maxlength="2"></label><br>
		   <label id="izq">Info extra</label><label id="der"><input type="text" style="text-align: center;" size="10" id="InfoExtra" name="InfoExtra"></label><br>
		</div>
		<div class="Introductores" style="display:none;">
		   <label id="izq">* Cantidad:</label><label id="der"><input type="text" style="text-align: center; width: 25px;" name="Cantidad" maxlength="3"></label><br><br>
		   <label id="izq">* Nombre:</label><label id="der"><input type="text" style="text-align: center;" size="6" id="Nombre" name="Nombre"></label><br>
		   <label id="izq">* Tipo:</label><label id="der"><select name="Tipo" id="Tipo">
		                           <option value="0">Seleccionar...</option>
		                           <option value="Radial">Radial</option>
								   <option value="Femoral">Femoral</option>
							   </select></label><br>
		   <label id="izq">* Fr:</label><label id="der"><input type="text" style="text-align: center;" size="2" id="Fr" name="Fr" maxlength="2"></label><br>
		   <label id="izq">* Largo:</label><label style="padding-left: 43px;"><input type="text" style="text-align: center;" size="3" id="Largo" name="Largo" maxlength="3">cm</label><br>
		   <label id="izq">Info extra</label><label id="der"><input type="text" style="text-align: center;" size="10" id="InfoExtra" name="InfoExtra"></label><br>
		</div>
		<div class="Varios" style="display:none;">
		   <label id="izq">* Cantidad:</label><label id="der"><input type="text" style="text-align: center; width: 25px;" name="Cantidad" maxlength="3"></label><br><br>
		   <label id="izq">* Nombre:</label><label id="der"><input type="text" style="text-align: center;" size="6" id="Nombre" name="Nombre"></label><br>
		   <label id="izq">Info extra</label><label id="der"><input type="text" style="text-align: center;" size="10" id="InfoExtra" name="InfoExtra"></label><br>
		</div>
		<div style="padding-top: 10px;"><input type="submit" value="Ingresar"></div>
	  </form>
	<?php
	   } else {
    ?>
	   <div id="Formulario" style="text-align: center">
	      No se ha iniciado sesión. Será redirigido en 5 segundos...
	   </div>
	<?php
	   header("refresh: 5; url=index.php");
	   }
	?>
</body>
</html>

Aclaro que todos los <div> deberían estar en "display: none;" y cambiar a "block" con javascript cuando se utiliza el select, pero como logré hacerlo funcionar todavía y es un tema que voy a consultar en el subforo de js, dejé el primer <div> (el de Catéteres, que puse en el ejemplo de mi primer mensaje) en block, para que sea visible.

ingresar.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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
session_start();
require('config.php');
require('funciones.php');
 
if(isset($_SESSION['Limite']) && time() < $_SESSION['Limite']) {
 
 $accion = $_POST['tipoMaterial'];
 conectarBD();
 
  if($accion != 0) {
 
	if($accion == 1) {
 
		$Cantidad = $_POST['Cantidad'];
		$Tipo = $_POST['Tipo'];
		$Curva = $_POST['Curva'];
		$MedidaCurva[0] = $_POST['Medida1'];
		$MedidaCurva[1] = $_POST['Medida1_'];
		$Fr = $_POST['Fr'];
		$Largo = $_POST['Largo'];
		$Lumen = $_POST['Lumen'];
		$InfoExtra = $_POST['InfoExtra'];
 
		echo $Cantidad;
		echo "<br>";
		echo $Tipo;
		echo "<br>";
		echo $Curva;
		echo "<br>";
		echo $MedidaCurva[0];
		echo "<br>";
		echo $MedidaCurva[1];
		echo "<br>";
		echo $Fr;
		echo "<br>";
		echo $Largo;
		echo "<br>";
		echo $Lumen;
		echo "<br>";
		echo $InfoExtra;
		echo "<br>";
		die();
 
	 } else {
 
	   echo "Solo Cateteres";
 
	 }
 
  } else {
 
	  header('Location: ingresomaterial.php');
  }
} else {
 
	header("Location: index.php");
 
}
?>
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