Foros del Web » Programando para Internet » PHP »

Hidden No Funciona!!

Estas en el tema de Hidden No Funciona!! en el foro de PHP en Foros del Web. Hola a todos!! Tengo un list box que trae valores desde una BD, selecciono un valor de ella y debo pasar ese valor (clave) a ...
  #1 (permalink)  
Antiguo 01/03/2004, 21:16
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 20 años, 6 meses
Puntos: 0
Hidden No Funciona!!

Hola a todos!!

Tengo un list box que trae valores desde una BD, selecciono un valor de ella y debo pasar ese valor (clave) a otra página, y para que no se "vea" uso hidden. Pero NO me funciona.

El (pequeño) código es el siguiente:

<FORM action="LeyendoHidden.php" method="post" name="f1">

<SELECT name="select" size=4>
<?php
$compara=$select;

$MySqlHostname = "xx";
$MySqlUsername = "xxx";
$MySqlPassword = "xxxx";
$MySqlDatabase = "xxxxx";
$dblink=MYSQL_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword);
@mysql_select_db("$MySqlDatabase");

$sql = "SELECT CLAVE, CAMPO2, CAMPO3, CAMPO4, CAMPO5, CAMPO6 FROM ALUMNOS";
$query = @mysql_query($sql, $dblink);
while ($row = mysql_fetch_array($query))
{
$CLAVE = $row['CLAVE'];
$CAMPO2 = $row['CAMPO2'];
$CAMPO3 = $row['CAMPO3'];
$CAMPO4 = $row['CAMPO4'];
$CAMPO5 = $row['CAMPO5'];
$CAMPO6 = $row['CAMPO6'];

if (strcasecmp($variable_campo2,$CAMPO2)==0) {

(variable_campo2 la leo(recibo) desde un formulario anterior=>ok)

printf("<OPTION value=\"$CLAVE\", \"$CAMPO2\", \"$CAMPO3\", \"$CAMPO4\", \"$CAMPO5\", \"$CAMPO6\"");

if ($CLAVE==$compara) {printf(" SELECTED");}

printf(">$CLAVE $CAMPO2 $CAMPO3 $CAMPO4 $CAMPO5 $CAMPO6 </option>");

(la lista trae todos los valores que sean iguales a la variable_campo2 - es un apellido, por eso uso esa función)

}
}

?>
</select>
<? echo ($select); ?>

<?
if(isset($_POST['boton_ingresar'])){
$foco = $select;

echo "valor foco=";
echo $foco;
}
$Edad=15;
?>


<INPUT TYPE="hidden" NAME="foco_hidden" VALUE="<? echo $foco ?>">
<INPUT TYPE="hidden" NAME="select_hidden" VALUE="<? echo $select ?>">
<INPUT TYPE="hidden" NAME="edad_hidden" VALUE="<? echo $Edad ?>">

<input type="submit" name=boton_ingresar value="Enviar Datos">


</form>
</body>
</html>

Así por ejemplo si en este formulario (f1) llega variable_campo2=Pérez, la lista muestra todos los alumnos que tengan ese apellido (funciona ok):

Pérez Sáez Claudio Alejandro
Pérez Sandoval Andrea Carolina
Pérez Cartes Felipe Antonio
etc.

y selecciono Pérez Sandoval Andrea Carolina (que tiene como clave 10) quiero que ese valor (10, por eso uso select, pues select guarda el valor que seleccioné de la lista) pueda ser pasado a la página LeyendoHidden.php.

El problema es que no lo pasa!!!, sin embargo sí pasa la variable $Edad (=15).

Por tanto dónde está mi problema!!!, espero me puedan ayudar, ya que ya no se que hacer

Por favor alguien me ayude.

Yuki27
  #2 (permalink)  
Antiguo 01/03/2004, 22:55
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Prueba asi a ver

Prueba de esta forma
Código PHP:
<INPUT TYPE="hidden" NAME="foco_hidden" VALUE=".$foco.">
<
INPUT TYPE="hidden" NAME="select_hidden" VALUE=".$select.">
<
INPUT TYPE="hidden" NAME="edad_hidden" VALUE=".$Edad.">
<
input type="submit" name=boton_ingresar value="Enviar Datos"
Si los campos son ocultos no tienes porque mostrar en ellos nada mediante un "echo" ademas como los tienes los tienes mal pues sería así más o menos
Código PHP:
 //el tuyo
<INPUT TYPE="hidden" NAME="foco_hidden" VALUE="<? echo $foco ?>">
// el correcto
<INPUT TYPE="hidden" NAME="foco_hidden" VALUE="<? echo $foco?>">
Salu2
__________________
Ing. Reynier Pérez Mira
  #3 (permalink)  
Antiguo 02/03/2004, 02:42
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,
Cita:
Tengo un list box que trae valores desde una BD, selecciono un valor de ella y debo pasar ese valor (clave) a otra página, y para que no se "vea" uso hidden. Pero NO me funciona.
Esto, ¿quieres decir que este $select:
Código PHP:
<INPUT TYPE="hidden" NAME="select_hidden" VALUE="<? echo $select ?>">
quieres que tome el valor que estas seleccionando en el combo? Es que $select solo toma ese valor cuando recibe ese formulario.

Creo que estas liandote. Todo el codigo PHP se ejecuta primero en el servidor. Y el HTML/javascript generado se envia al navegador que lo ejecuta. De ahi debes cargar otra pagina para volver a ejecutar PHP.

Lo que quieres hacer (si lo he entendido bien) debes hacerlo con javascript.

Saludos.

PD: Revisa tus manuales de HTML, ese <option> hace daño a la vista.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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:37.