Foros del Web » Programando para Internet » Javascript »

variables no pasan

Estas en el tema de variables no pasan en el foro de Javascript en Foros del Web. Saludos tengo un frame (der) que muestra una foto. otro frame (cen) que muestra datos de la foto. Aquí, tengo, entre otras, <a href="#" onclick="javascript ...
  #1 (permalink)  
Antiguo 02/09/2005, 06:31
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
variables no pasan

Saludos

tengo un frame (der) que muestra una foto.
otro frame (cen) que muestra datos de la foto. Aquí, tengo, entre otras,
<a href="#" onclick="javascript:afoto();">
<img src="../img-galeria/okbtn.gif" width="26" height="21">
</a>

donde el
<script LANGUAGE="JavaScript">
function afoto(){
document.guardar.action="privado.php?cod=<?php echo $cod ?>&usuario=<?php echo $usuario ?>";
document.guardar.submit;
}
</script>

En privado.php (ventana emergente) debo recibir las variables para consultar en la BD que la foto no esté agregada con anterioridad.
Originalmente, tenía en el <script>
function afoto(){
window.open('privado.php?cod=<?php echo $cod ?>&usuario=<?php echo $usuario ?>',"Privado","width=350,height=150,scrollbars=NO, left=350,top=300");
}

y

function afoto(cod=<?php echo $cod ?>,usuario=<?php echo $usuario ?>){ window.open('privado.php?cod='+cod+'&usuario='+usu ario,"Privado","width=350,height=150,scrollbars=NO ,left=350,top=300");
}

Pero, no he logrado pasar las variables.
Las he tratado leer con $_POST y $_REQUEST... sin éxito... asumo que no las estoy pasando bien...

Alguna idea?

Gracias de una
__________________
Gracias de todas todas
-----
Linux!
  #2 (permalink)  
Antiguo 02/09/2005, 06:45
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Metodos GET y POST

Tu script es correcto, solo que no has tenido en cuenta el metodo como envias los datos.
Si es:
privado.php?cod=<?php echo $cod ?>&usuario=<?php echo $usuario ?>
esto es por el metodo GET.

Código PHP:
if ($_SERVER["REQUEST_METHOD"] == "GET")
{
    if (isset(
$_GET["cod"]))
    {
        
$codigo$_GET["cod"];
    }
    if (isset(
$_GET['usuario']))
    {
        
$usuario$_GET["usuario"];
    }

  #3 (permalink)  
Antiguo 02/09/2005, 07:18
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
vale... gracias...

La variable cod llega, pero la variable usuario no... ésta última la estoy asignando originalmente como
$_SESSION['usuario']=$_POST['usr'];
$usuario=$_SESSION['usuario'];

donde $_POST['usr'];

viene del campo de un formulario en la misma pág,
<form action="./medio3.php?cod=<?php echo $cod ?>...>
...
<input type="text" name="usr" ...>

y se envía con
<a href="#" onclick="javascript: validar();">
<img src="../img-galeria/okbtn.gif" width="26" height="21" border="0">
</a>

<script LANGUAGE="JavaScript">
function enviar(){
document.c.submit();
}
</script>

esto es correcto?
__________________
Gracias de todas todas
-----
Linux!
  #4 (permalink)  
Antiguo 02/09/2005, 07:28
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
sorry! me equivoqué de srcipt
era

function validar(){
if (document.iniciar.usr.value == '') {
alert ('Nick vacío');
} else {
if(document.iniciar.cla.value == '') {
alert ('Contraseña vacía');
} else {
document.iniciar.submit();
}
}
return null;
}
__________________
Gracias de todas todas
-----
Linux!
  #5 (permalink)  
Antiguo 02/09/2005, 08:12
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Ésto:
$_SESSION['usuario']=$_POST['usr'];
$usuario=$_SESSION['usuario'];
me parece que no esta bien.
Ademas, no entiendo.. tu tienes 2 formularios diferentes?
Si tienes 1 solo, entonces los datos pasalos por GET o por POST. No me parece correcto enviar los datos por ambos metodos.
  #6 (permalink)  
Antiguo 02/09/2005, 09:23
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
De acuerdo... tengo un único formulario que llama a la misma pág...
El problema está, en que si los paso por GET, no llegan, por POST, si... menos el $usuario

Por otro lado, que no ves bien en,
$_SESSION['usuario']=$_POST['usr'];
$usuario=$_SESSION['usuario'];

a mi me está funcionando dentro de la misma pág... falla al querer pasar a la ventana emergente
__________________
Gracias de todas todas
-----
Linux!
  #7 (permalink)  
Antiguo 02/09/2005, 09:42
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Mira este link, quizas te ayude.
http://www.forosdelweb.com/f4/enlazar-lista-menu-328962/
  #8 (permalink)  
Antiguo 02/09/2005, 14:12
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
pues... paso por la pena, jeje

Veamos... si al formulario le doy method="GET", aún con poniendo en los scripts de PHP, $_SERVER["REQUEST_METHOD"] == "GET", las variables no pasan...

Recapitulando...
cod viene de otra pág y lo leo: $cod=$_REQUEST['cod'];
usr viene del formulario de inicio de sesión en la misma pág, y lo leo: $usuario=$_POST[usr];
(por eso lo guardaba en una variable de session, lo utilizo en varios forms dentro de la misma pág, de igual a igual, funciona)

Hasta aqui, al entrar las variables estan en blanco, inicio sesión con nombre de usuario y contraseña, y las variables se cargan, a partir de una consulta a una BD.

El segundo <form name="guardar" method="POST">, es el que envía a la ventana emergente las variables (o al menos debería), con un
<script><a href="#" onclick="javascript:afoto();"> </script>
que contiene
function afoto(){
window.open('privado.php?cod=<?php echo $cod ?>&usuario=<?php echo $usuario ?>',"Privado","width=350,height=150,scrollbars=NO, left=350,top=30 0");
}

La ventana emeregente recibe,
$cod=$_GET['cod'];
$usr=$_GET['usuario'];
A lo que abre (la ventana emergente), pido con un <? echo ?> que me muestre las variables $cod y $usr... $cod sí me da la variable, pero $usr no...

He agregado el
($_SERVER["REQUEST_METHOD"] == "GET") y sus líneas (que me has sugerido), y no consigo ninguna mejora...
__________________
Gracias de todas todas
-----
Linux!
  #9 (permalink)  
Antiguo 02/09/2005, 15:22
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Cheque el formulario, del cual envias 'cod', porque me parece que lo estas enviando por GET.
<form action="tuarchivo.php" method="POST">
Y creas campos ocultos:
<input type="hidden" name="cod" value="<?php echo $cod; ?>">
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 16:02.