PHP - obtener valor de un select en php

   
Vista:

obtener valor de un select en php

Publicado por Yept (1 intervención) el 24/09/2017 00:47:19
Buenas gente soy nuevo en este mundo del PHP tengo este pequeño ejemplo sobre un carrito de compras a medio hacer todavia no tengo mucho codigo pero lo que quiero saber es por que me manda un error al querer saber el valor del elemento seleccionado del select me dice:
Notice: Undefined index: mi_select in C:\Program Files (x86)\EasyPHP-5.3.5.0\www\unidad4\ejemplo8\productos.php on line 41

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
<?php
	session_start();
 
?>
<!doctype html>
<html lang="es">
	<head>
		<title>Ejemplo 6</title>
		<meta charset="utf-8">
		<style type="text/css">
			.container{
				width: 500px;
				margin: 50px auto;
			}
		</style>
	</head>
	<body>
		<div class="container">
			<h1 style="text-align:center;">Agregar Producto</h1>
			<form name="frmAgregar" method="post" action="productos.php">
				<div><SELECT id="mi_select">
						<OPTION value="0">WOW</OPTION>
						<OPTION value="1">DOTA</OPTION>
						<OPTION value="2">HOST</OPTION>
						<OPTION value="3">HEART</OPTION>
					</SELECT></div>
				<div>Cantidad: <input type="number" name="txtCantidad" size="20"></div>
				<div style="margin:15px 0px 0px 150px;">
					<input type="submit" name="btnAgregar" value="Enviar">
				</div>
				<div><a href="mostrar.php">Mostrar produtos en carrito</a></div>
			</form>
		</div>
		<?php
 
		if (!isset($_POST["btnAgregar"])) {
			$_SESSION["carrito"]=array();
			echo "estas aqui";
		}
		if (isset($_POST["btnAgregar"])) {
			$producto=$_REQUEST['mi_select'];
			echo "estas aca";
 
		}
 
		?>
 
	</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
Imágen de perfil de xve

obtener valor de un select en php

Publicado por xve (6690 intervenciones) el 24/09/2017 18:27:01
Hola Yept, el problema que tienes es que no tienes definido ese name en el formulario...

Cambia este linea:
1
<SELECT id="mi_select">
por esta:
1
<SELECT id="mi_select" name="mi_select">

Te recomiendo utilizar $_POST en vez de $_REQUEST
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 Georkis

obtener valor de un select en php

Publicado por Georkis (30 intervenciones) el 25/09/2017 01:52:30
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
<?php
 
	session_start();
 
 
 
?>
 
<!doctype html>
 
<html lang="es">
 
	<head>
 
		<title>Ejemplo 6</title>
 
		<meta charset="utf-8">
 
		<style type="text/css">
 
			.container{
 
				width: 500px;
 
				margin: 50px auto;
 
			}
 
		</style>
 
	</head>
 
	<body>
 
		<div class="container">
 
			<h1 style="text-align:center;">Agregar Producto</h1>
 
			<form name="frmAgregar" method="post" action="productos.php">
 
				<div><SELECT id="mi_select" name="mi_select">
 
						<OPTION value="0">WOW</OPTION>
 
						<OPTION value="1">DOTA</OPTION>
 
						<OPTION value="2">HOST</OPTION>
 
						<OPTION value="3">HEART</OPTION>
 
					</SELECT></div>
 
				<div>Cantidad: <input type="number" name="txtCantidad" size="20"></div>
 
				<div style="margin:15px 0px 0px 150px;">
 
					<input type="submit" name="btnAgregar" value="Enviar">
 
				</div>
 
				<div><a href="mostrar.php">Mostrar produtos en carrito</a></div>
 
			</form>
 
		</div>
 
		<?php
 
 
 
		if (!isset($_POST["btnAgregar"])) {
 
			$_SESSION["carrito"]=array();
 
			echo "estas aqui";
 
		}
 
		if (isset($_POST["btnAgregar"])) {
 
			$producto=$_REQUEST['mi_select'];
 
			echo "estas aca";
 
 
 
		}
 
 
 
		?>
 
 
 
	</body>
 
</html>
Agregue el nombre del select (mi_select), como lo indica el comentario anterior
1
2
3
4
5
6
7
8
9
10
<?php
//Puedes poner si existe un post del formulario
if(isset($_POST['frmAgregar'])){
       $miSelect = $_POST['mi_select'];
       $cantidad = $_POST['txtCantidad'];
        /* Ya con esto recoge lo que viene del formulario, tambien puedes poner como condicion si no se hace un post en esa pagina que vuelva al formulario o que mande a una pagina 404 */
}else{
     /* ... lo que quieras poner */
}
/* tambien puedes hacer mejor por jQuery o javascript, si quieres te hago un ejemplo... si hay algun error, es porque no estoy trabajando en un IDE de programaci'on ahora... */
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

obtener valor de un select en php

Publicado por Julian (2 intervenciones) el 03/04/2018 22:31:16
Buenas tardes yo estoy tratando de hacer eso pero los valores son de un array en ese caso me podrían orientar de como hacerlo por favor.
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
Revisar política de publicidad