Foros del Web » Programando para Internet » Javascript » Frameworks JS »

No me pasa variables..

Estas en el tema de No me pasa variables.. en el foro de Frameworks JS en Foros del Web. Hola muy buenas, llevo varias dias con este problema y no soy capaz de solucionarlo y me he decidido a pedir ayuda porque no encuentro ...
  #1 (permalink)  
Antiguo 05/05/2009, 03:05
 
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 17 años
Puntos: 0
No me pasa variables..

Hola muy buenas, llevo varias dias con este problema y no soy capaz de solucionarlo y me he decidido a pedir ayuda porque no encuentro ninguna solucion.
Pues bien el problema es que no me pasa variables de una pagina a otra, esta es la página principal, ahi va el código

Cita:
<html>
<head>
<title>Correo Ajax</title>
<script type="text/javascript" language="javascript">
function xmlhttpPost (strURL)
{
var xmlHttpReq = false;
var self = this;
if (window.XMLHttpRequest)
{
alert("Mozilla");
self.xmlHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('POST', strURL, true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencodec');
self.xmlHttpReq.onreadyStateChange = function ()
{
alert (readyState= self.xmlHttpReq.readyState);
if (self.xmlHttpReq.readyState == 4)
{
updatepage(self.xmlHttpReq.responseText);
}
}
self.xmlHttpReq.send(getquerystring());
}
function getquerystring()
{
var form = document.forms['mailerform'];
var sender = form.sender.value;
var message = form.message.value;
qstr = 's=' + escape(sender) + '&m=' + escape(message);
return qstr;
//alert (qstr);
}
function updatepage (str)
{
document.getElementById("resultado").innerHTML = str;
document.getElementById("noticion").innerHTML = qstr;
}
</script>
<style>p, input, textarea, div { font: bold 8 pt verdana, sans-serif; }
.resultado { color:red; }
.noticias { color:blue; }
</style>
</head>
<body>

<form name="mailerform" method="post">
<p>Tu dirección: <input name="sender" type="text" id="direccion"><br><br><br></input>
Mensaje:<br><textarea name="message" cols="40" rows="5" id="mensaje"></textarea>
<input value="Enviar" type="button" onClick='JavaScript:xmlhttpPost("mailer.php")'>
<a href="mailer.php?sender=$sender&message=$message">
Paso variables sender y message a la página mailer.php</a></input>
<br><br>
<div id="resultado" class="resultado"></div>
<div id="noticion" class="noticias"></div>
</form>
</body>
</html>
Aquí hay dos variables sender y message, que pretendo recoger en esta pagina con este código

Cita:
<html>
<body>
<?
echo ("Te envio un email desde aqui a ".$sender."<br>");
echo ("con el mensaje ".$message. "<br><br>");
?>
</body>
</html>
Pues bien ya no se que intentar porque he intentado de todo y no hay manera, he intentado pasarlas por metodo post, get, como variables de sesion, cookies incluso por un enlace javascript y nada, no soy capaz de enviarlas. Este problema es el principal que tengo, despues hay otro que si veis el problema un gran favor me hareis también, resulta que este ajax funciona con IE pero no con Mozilla. Muchas gracias por todo
  #2 (permalink)  
Antiguo 05/05/2009, 03:19
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No me pasa variables..

Lo que ocurre no es que no se envíen. Es que no las estás recogiendo.

En PHP eso de poner $sender y que te coja el parámetro que has enviado de nombre "sender" desde hace tiempo ya que no se usa. Para recoger los parámetros que recibas en una petición, debes usar $_POST["sender"] o $_GET["sender"] (o $_POST["s"] según lo que estás poniendo ahí en 's=' + escape(sender) + '&m=' + escape(message);
  #3 (permalink)  
Antiguo 05/05/2009, 04:28
 
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 17 años
Puntos: 0
Respuesta: No me pasa variables..

Gracias por responder tan pronto, es verdad, me las envía, he echo una prueba y es verdad que la envía, el problema es recogerla, te pongo el codigo de la pagina que se supone que las debe recoger, ahora con el metodo post, el cual no me hace ni caso..


Cita:
<body>
<?
echo ("La direccion es ".$_POST["sender"]."<br>");
echo ("con el mensaje ".$_POST["message"]);
?>
</body>
</html>
me devuelve
La direccion es
con el mensaje
cuando me debería devolver ademas de eso lo que hay en la variable, llevo unos cuantos dias con esto por favor ayuda!!!!
  #4 (permalink)  
Antiguo 05/05/2009, 05:25
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No me pasa variables..

(o $_POST["s"] según lo que estás poniendo ahí en 's=' + escape(sender) + '&m=' + escape(message)

Si lo envías como "s" tendrás que recogerlo con $_POST["s"]
  #5 (permalink)  
Antiguo 06/05/2009, 01:17
 
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 17 años
Puntos: 0
Respuesta: No me pasa variables..

Hola, pues sigue sin recogerlas y da igual como intente recuperarlas, te pongo el código con el cual las intento recuperar. Veras como intento con todos los nombres posibles

<body>
<?
echo ("La direccion es ".$_POST["s"]."<br>");
echo ("con el mensaje ".$_POST["message"]."<br>");
echo ("Que pasa con las variables ".$message."<br>");
echo ("No pasa ninguna ".$sender);
?>
</body>
</html>

No me recoge ninguna variable lo máximo que consigo es la siguiente salida

La direccion es
con el mensaje
Que pasa con las variables $message
No pasa ninguna $sender

Por lo menos he conseguido que me ponga el $message y el $sender, pone el nombre de las variables pero no el valor de estas, como hacer?¿
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 14:32.