Ver Mensaje Individual
  #8 (permalink)  
Antiguo 21/04/2004, 21:29
Avatar de sism82
sism82
 
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
ok, empecemos por la forma en que puedes enviar variables a otra ventana.
las que necesitas saber de momento son dos.
En PHP:
variables por URL (tambien conocido como método GET)
variables por formulario(conocido como POST)
Las variables GET, son enviadas, como te dije, por URL, esto quiere decir que se envian a través de la dirección de la página, para ser recibidas por algún interprete, en este caso PHP.
ejemplo:
pagina.php?variable1=valor1&variable2=valor2
la primer variable la envias justo después de poner el nombre y extensión de la página "pagina.php" y pones un signo de interrogación para indicar inicio de variables, luego separas cada variable con signos Amperson &
y cada uno de esos valores los recibes en "pagina.php" de la siguiente forma:
php maneja un arreglo (array) que contiene todas las variables que se envian por GET, y logicamente asi se llama el arreglo GET, asi que para recibir esas variables haces $_GET['nombreVariable']; y asi es como usas ese valor
Ok?
Las variables POST son las que se reciben desde un formulario, siempre y cuando especifiques ese método en el formulario, ya que, no es común, pero se puede hacer que un formulario envie variables por GET:
<form name="formulario" action="pagina.php" method="post">
<input type="text" name="variable1" value="valor1">
<input type="submit" value="Enviar datos">
</form>
si te fijas especifique method="post" si no lo haces te las va a enviar por GET, es decir por la direccion URL que ves arriba en el navegador. has la prueba poniendo method="get" para que veas la diferencia.
Las recibes igual que con GET, pero ahora el arreglo se llama POST
$_POST['variable1'];

Ahora bien javascript(JS) no puede recibir las variables directamente desde GET o POST, necesitas un intermediario, normalmente son los parametros que le envias a JS o bien, un campo. Ya que JS se lleva muy bien con todos los elementos del navegador. Por ejempo, si envias por GET o POST y quiere que JS lea la variable puedes hacer. Concretamente para tu duda:
pagina 1 que envia variable:
<html>
<head>
<title>envio variable</title>
</head>
<body>
<form name="envia" action="pagina2.php" method="post">
<input type="text" name="var" value="ESTA VARIABLE ENVIE">
<input type="submit" value="enviar variable">
</form>
</body>
</html>

En pagina 2:
<html>
<head>
<title>taksldnsa</title>
<script language="Javascript">
function leeVariable(variable){
alert("la variable que enviaste es: "+variable);
}
</script>
</head>
<body onLoad="leeVariable('<? echo $_POST['var'];?>');"
contenido de la web
</body>
</html>

Como ves, php es el que envia parametros a javascript. Javascript se encarga de que las paginas se recarguen, se envien los formularios etc...

Como ves, la variable la envie con un formulario de HTML, luego la recibí con PHP, pero ese PHP estaba dentro de una llamada a una función de JS leeVariable('aqui van los parametros');
solo que el parametro lo recibe de php antes de que el html con el javascript sea enviado al navegador del cliente. y finalmente el envento onLoad "dispara" la función.
Javascript se maneja por funciones y eventos "cuando pase esto quiero que hagas esto"... por eso no importa donde pongas tus funciones, yo la puse en el header, es recomendado. Y luego la mande llamar desde la etiqueta body...

mas dudas???