Foros del Web » Programando para Internet » PHP »

Seleccionar el valor de la lista

Estas en el tema de Seleccionar el valor de la lista en el foro de PHP en Foros del Web. Hola Estoy enviando un formulario y necesito enviar una variable, lo estoy haciendo de esta manera: categoria_mod_alert.php?cat_eli=<?php echo $_POST['cat_eli']; ?> Pero no me llega el ...
  #1 (permalink)  
Antiguo 23/02/2006, 07:30
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
Seleccionar el valor de la lista

Hola

Estoy enviando un formulario y necesito enviar una variable, lo estoy haciendo de esta manera:

categoria_mod_alert.php?cat_eli=<?php echo $_POST['cat_eli']; ?>

Pero no me llega el valor (en el navegador aparece categoria_mod_alert.php?cat_eli= )

Lo que quiero es que ese valor sea el de la opción seleccionada en una lista

Muchas gracias
  #2 (permalink)  
Antiguo 23/02/2006, 07:45
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Haz comprobado que esta variable: $_POST['cat_eli'] tiene algun valor?
  #3 (permalink)  
Antiguo 23/02/2006, 08:22
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
Se supone que debería ser el valor de la opción seleccionada en la lista, pero no pasa nada

¿Cómo se hace?
  #4 (permalink)  
Antiguo 23/02/2006, 08:26
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Insisto, haz probado que tenga un valor antes de usarla?
Puedes ejecutar echo $_POST['cat_eli'] para que te lo imprima por pantalla.
  #5 (permalink)  
Antiguo 23/02/2006, 08:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Mauri1
Se supone que debería ser el valor de la opción seleccionada en la lista, pero no pasa nada

¿Cómo se hace?
Pon por favor el formulario que uses y todo el código completo ..

Creo que estamos teniendo problemas de "comunicación" .. tu dices "opción seleccionada" .. pero no vemos como es el proceso y flujo de tu código .. tal vez lo que necesites es usar javascript para dar ese valor a tu "cat_eli" y no por PHP ($variable) .. Todo eso se verá mejor si indicas el código completo que usas (y si intervienen vários scripts en el proceso, indica los nombres de esos scripts y separalos)

Un saludo,
  #6 (permalink)  
Antiguo 23/02/2006, 08:55
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
Hola claudiovega

Lo que pasa es lo siguiente: Tengo una lista (combobox) que recoge los datos de una base de datos, en el valor pongo el id y en la etiqueta pongo el nombre, en esta caso el de la categoría, y hago un do para llenar la lista con todas las categorías.

Ahora la cosa es que tengo un formulario que tiene ese combobox con nombre e id cat_eli y un botón, cuando hago clic en el botón (la acción del formulario es categoria_mod_alert.php?cat_eli=<?php echo $_POST['cat_eli']; ?> ) envío el formulario, pero no obtengo el valor de la lista, ya que me carga la página de destino, pero aparece esto en la url: categoria_mod_alert.php?cat_eli=, es decir, no llegó el valor de la lista y por lo tanto si hago un echo no me va a imprimir nada.

¿Cuál es la metodología de trabajo para estos casos, enviar el formulario a la misma página?

Muchas gracias
  #7 (permalink)  
Antiguo 23/02/2006, 08:57
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
ok, enseguida lo coloco

Estaba escribiendo el post anterior, puse "enviar respuesta" y aparecio el mensaje de Cluster :P
  #8 (permalink)  
Antiguo 23/02/2006, 09:04
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
Este es el código del formulario

Código PHP:
<form action="categoria_mod_alert.php?cat_eli=<?php echo $_POST['cat_eli']; ?>" method="post" name="eliminar" id="eliminar">
                    <div align="center">
                      <select name="cat_eli" id="cat_eli">
                        <?php
do {  
?>
                        <option value="<?php echo $row_categoria['id']?>"><?php echo $row_categoria['nombre']?></option>
                        <?php
} while ($row_categoria mysql_fetch_assoc($categoria));
  
$rows mysql_num_rows($categoria);
  if(
$rows 0) {
      
mysql_data_seek($categoria0);
   
$row_categoria mysql_fetch_assoc($categoria);
  }
?>
                      </select>
                      &nbsp;
                      <input type="submit" name="Submit4" value="Eliminar" />
                    </div>
                  </form>
Este es el código de la página que recibe el formulario

Código PHP:
<html>
<head>
<script>
function eliminar(){
if (confirm('¿Está seguro de querer eliminar la categoria?')) {
location.href='categoria_eliminar.php?id=<?php echo $_GET["cat_eli"]; ?>';
}else{
location.href='javascript:history.back()';
}
}
</script>
</head>
<body onLoad="javascript:eliminar()">
</body>
</html>
Y luego categoria_eliminar.php elimina el registro donde id= al valor que le envío

Creo que sería mejor trabajar todo en una misma página, por lo menos el javascript de la confirmación
  #9 (permalink)  
Antiguo 23/02/2006, 09:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
¿Cuál es la metodología de trabajo para estos casos, enviar el formulario a la misma página?

Viendo el código podremos dar una respuesta más acertada .. pero en principio si dices que tienes un "formulario" con tu action apuntando a tal script PHP .. el valor de tu variable que va en tu <select name= .....> viajará como parte de ese formulario .. en el "method" que uses en ese formulario.

NO tienes que hacer:
<form action="categoria_mod_alert.php?cat_eli=<?php echo $_POST['cat_eli']; ?>" method="post">

sino sólo:
<form action="categoria_mod_alert.php" method="post">

Siendo
<select name="cat_eli">
<option ....>...</option>
</select>

Si te fijas el "name" de tu elemento de formulario es el que dá nombre equivalente en el script PHP que envias esas variables por el "method" que uses en el formulario .. sea POST o GET.

Un saludo,
  #10 (permalink)  
Antiguo 23/02/2006, 09:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. justo cuando publicaba mi mensaje aparecí el tuyo con el código .. Es lo que me "imaginaba".

Tu variable "cat_eli" ya sube en el formulario en method POST, NO debes indicarla en el "action" del formulario ni como lo haces.

También por lo mismo .. a tu script que recibe los datos .. el método por el que llegan es POST (por qué así usastes tu "method" del formulario).

Sería:
location.href='categoria_eliminar.php?id=<?php echo $_POST["cat_eli"]; ?>';

Y como detalle .. Si vas hacer una confirmación para "eliminar" .. NO generes una página para eso .. si lo controlas con javascript sólo te irá mejor, ahorras recursos e idas y venidas de páginas.

Se trata simplemente de que vía javascirpt uses una función javascript para dejar o no continuar con tu el "submit" del formulario. (ante el evento "submit" .. validas y dejas seguir el proceso o no .. ) .. Con una ventanita "javascript" de confirmación .. (Creo que es lo más sano. Pero bueno .. es una alternativa más).

Un saludo,
  #11 (permalink)  
Antiguo 23/02/2006, 09:18
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
Hola Cluster

Ahí si llega el valor !!, pero llega la etiqueta, es decir, lo que se ve en la lista y no el id que corresponde a ese nombre, el id está como value del combo.

¿Qué se puede hacer?

Muchas gracias
  #12 (permalink)  
Antiguo 23/02/2006, 09:27
Avatar de Mauri1  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago de Chile
Mensajes: 558
Antigüedad: 15 años
Puntos: 0
ahhh, no, me equivoqué

Sí, si llega el valor, es lógico, es lo que tiene que llegar, sólo que despues en el alert mostraba el nombre correspondiente a ese id y por eso me confundí.

Disculpen

Muchas gracias compatriota Cluster !!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:28.