PHP - ¿Cómo mandar a una variable de sesión el dato tomado de un listado select?

 
Vista:

¿Cómo mandar a una variable de sesión el dato tomado de un listado select?

Publicado por Janet (4 intervenciones) el 14/01/2016 06:06:19

Hola! ¿cómo puedo mandar a una variable de sesión el dato seleccionado de un listado select, previamente llenado despues de una consulta a mysql?




Resulta que para consultar un artículo debo seleccionar su clave, entonces lleno el select con las claves que hay en la bd, una vez seleccionada la clave en el select tengo un boton consultar y se debe mostrar los datos correspondientes en otra página, pero no me guarda la clave en la variable de sesión, no sé mucho de php y tal vez parezca una bobada, pero no he encontrado la solución en ninguna parte, cabe mencionar que en otros scripts uso el select y lo seleccionado si se pasa a la variable de sesión, pero es para guardarlo en la base de datos y no proveniente de una consulta como esto, agradezco sus respuestas

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
include('conectarbd.php');
$consulta=mysql_query("SELECT Id_Art FROM articulo", $conexion) or die ("Problemas en el select".mysql_error());
?>
<select name="consultar" id="consultar">
	<?php
	while($reg=mysql_fetch_array($consulta))
	{
	    echo "<option value=".$reg['Id_Art']."selected>".$reg['Id_Art']."</option>";
	}
	?>
</select>
<?php $_SESSION['clave']=$_REQUEST['consultar'];?>
<input type="submit" name="Submit" value="Consultar" />
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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

¿Cómo mandar a una variable de sesión el dato tomado de un listado select?

Publicado por xve (6935 intervenciones) el 14/01/2016 08:46:42
Hola Janet, para poner una variable de un formulario en una variable de sesión del PHP, hay que hacerlo desde el PHP en el servidor, por lo que de alguna manera tienes que enviar el valor al servidor, ya sea mediante el envío del formulario o mediante AJAX.

Veo que tienes un submit, pero falta el tag <form>, no?
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

¿Cómo mandar a una variable de sesión el dato tomado de un listado select?

Publicado por Janet (4 intervenciones) el 15/01/2016 03:58:29
Hola! si tengo el form y sí envio al servidor pero no lo guarda, anteriormente metía el código digitado y luego le daba buscar y así si me guardaba la variable, con la misma técnica y me desplegaba la consulta en la siguiente página
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

¿Cómo mandar a una variable de sesión el dato tomado de un listado select?

Publicado por Maverick (6 intervenciones) el 20/01/2016 00:35:15
Estimada Janet,

Me ha pasado que cuando trabajo con variables de sesión debo poner la función session_start(); antes de poner el dato en la variable de sesión. Asi mismo, sugiero que debes validar que el control "consultar" exista antes de tomar su valor.

1
2
3
4
5
6
7
<?php
      session_start();
 
      if (isset($_POST['consultar']))  {
            $_SESSION['clave']=$_POST['consultar'];
      }
?>

Espero haberte ayudado, cualquier cosa puedes escribirme a: [email protected]

Saludos cordiales,

Manuel
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

¿Cómo mandar a una variable de sesión el dato tomado de un listado select?

Publicado por janet (4 intervenciones) el 11/04/2016 06:45:48
Agradezco tu respuesta, ya pude solucionar el problema, el session_start(); lo tengo al principio del código, esto solo fue una fracción, sigo con el mismo proyecto sólo que ahora estoy en la manipulación de imagenes (monto una galería) y no puedo redimencionar las imagenes, para todas las funciones de la lib gd me sale:

Warning: imagesx(): supplied argument is not a valid Image resource in C:\AppServ\www\tarea\guardart.php on line 81

Warning: imagesy(): supplied argument is not a valid Image resource in C:\AppServ\www\tarea\guardart.php on line 82

Warning: Division by zero in C:\AppServ\www\tarea\guardart.php on line 85

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\AppServ\www\tarea\guardart.php on line 86

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\AppServ\www\tarea\guardart.php on line 88

Warning: imagejpeg(): supplied argument is not a valid Image resource in C:\AppServ\www\tarea\guardart.php on line 92

ya probé muchas formas de hacerlo y en todas me sale lo mismo que el argumento no es válido.
he verificado y si tengo las librerias gd activas tanto en el php.ini como en el c://php/ext
en verdad no sé que es lo que está mal, pues en ningún lado encuentro la solución para este tipo de error, yo no tengo experiencia en la programacion web, así que agradecería cualquier tipo de ayuda.
1
2
3
4
5
6
7
8
9
10
$foto=$_FILES['imagen']['name'];
$temp=$_FILES['imagen']['tmp_name'];
$original=imagecreatefromjpeg($foto);
$ancho_inicial=imagesx($foto);
$alto_inicial=imagesy($foto);
$ancho_nuevo=250;
$alto_nuevo=round($ancho_nuevo*$alto_inicial/$ancho_inicial);
$copia=imagecreatetruecolor($ancho_nuevo, $alto_nuevo);
imagecopyresampled($copia,$original,0,0,0,0,$ancho_nuevo,$alto_nuevo,$ancho_inicial,$alto_original);
imagejpeg($copia,$destino,100);
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 xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

¿Cómo mandar a una variable de sesión el dato tomado de un listado select?

Publicado por xve (6935 intervenciones) el 11/04/2016 08:08:03
Hola Janet, a imagex() tienes que enviarle un objeto image, no el nombre de la imagen... has probado así:
1
2
$original=imagecreatefromjpeg($foto);
$ancho_inicial=imagesx($original);

http://php.net/manual/es/function.imagesx.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

¿Cómo mandar a una variable de sesión el dato tomado de un listado select?

Publicado por Janet (4 intervenciones) el 16/04/2016 19:42:10
Ya está solucionado, gracias!!

Al realizar una actualizacion de una articulo, todo se guarda perfecto en la BD pero si no hago cambios en la imagen (p.e. solo actualizar nombre y descripcion del articulo) y al querer visualizar la actualización, ya no me muestra la imagen!!!! yo recojo los datos de las cajas con un $_REQUEST para hacer el update, la imagen se manda con un input type="file" y la recojo con el $_FILES, y si hago el cambio de imagen al ver que ya no la muestra, el resultado sigue siendo el mismo, nada, no sé si me explico, es por la forma de hacer el envío? osea al mandar los datos del formulario con un enctype="multipart/form-data" y al no enviarse ninguna imagen (por no ocuparse una actualizacion de esta) se esté dañando? No entiendo por que pasa esto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar