Foros del Web » Programando para Internet » PHP »

Ayuda capturando variables.

Estas en el tema de Ayuda capturando variables. en el foro de PHP en Foros del Web. Hola de nuevo, tengo un problemilla a la hora de pasar variables de un form, seguro que es una tonteria, pero no doy con ello, ...
  #1 (permalink)  
Antiguo 15/02/2003, 12:55
 
Fecha de Ingreso: noviembre-2002
Mensajes: 27
Antigüedad: 15 años, 1 mes
Puntos: 0
Ayuda capturando variables.

Hola de nuevo, tengo un problemilla a la hora de pasar variables de un form, seguro que es una tonteria, pero no doy con ello, os explico:

Codigo inicial:(inicio.php):

<html>
<head>
</head>
<body>
<script language="javascript">
function abrir(){
window.open("prueba.php?nombre=<? echo $nombre; ?>", "" , "fullscreen=0 , toolbar=0 , location=0 , status=0 , menubar=0 , scrollbars=1 , resizable=0" , false);
}
</script>

<form name="formulario" id="formulario">
<input type="text" name="nombre" id="nombre" size="20" class="areatexto">
</form>
<input type="button" class="boton" onclick="abrir();" value="Prueba">
</body>
</html>


prueba.php:

?php
$nombre=$_GET['nombre'];
?>

<html>
<head>
</head>

<body>
<p><div align="center"><strong><font color="#0000FF"><? echo $nombre ; ?></font></strong></div></p>

</body>
</html>


Por que no visualizo la variable nombre, que proviene del form, como lo tendria que hacer para ver el valor?

Saludos.
  #2 (permalink)  
Antiguo 15/02/2003, 15:21
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Pues porque no envias el formulario. No hay ningun submit. En la funcion javascript abrir() llamas a prueba.php pasandole un valor por GET, pero que no es el valor del formulario. Estas pasando el valor que tiene la variable PHP $nombre en el momento de abrir la pagina con el formulario, que posiblemente sea vacio. Recuerda que todo el codigo PHP se ejecuta en el SERVIDOR, ANTES de que el usuario pueda interactuar con la pagina.

Si lo que quieres es que abrir() le pase el valor del campo del formulario, tienes que hacerlo con javascript. Lo normal es que preguntes en el foro de javascript, pero ya que estas aqui:

<script language="javascript">
function abrir(){
nombre_javascript=formulario.nombre.value;
window.open("prueba.php?nombre="+nombre_javascript , "" , "fullscreen=0 , toolbar=0 , location=0 , status=0 , menubar=0 , scrollbars=1 , resizable=0" , false);
}
</script>

Seria incluso mas recomendable que aplicases a nombre_javascript alguna funcion parecida al urlencode() de PHP. Ahora mismo no se si existe o como se llama. Con eso evitaras que si en el campo de texto meten valores "raros", estos se extravien por el camino.

Otra solucion seria hacer el submit del formulario poniendo como target la ventana creada. Me suena que eso ya se comento en el foro de javascript. Usa su buscador.

Espero haber sido de ayuda.
__________________
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 00:42.