Foros del Web » Programando para Internet » PHP »

Enviar variables JS y recogerlas como PHP

Estas en el tema de Enviar variables JS y recogerlas como PHP en el foro de PHP en Foros del Web. Tengo este script y ya intente enviar variables por medio de un iframe (Remote Scripting), lo cual lo hace pero muy tarde, y AJAX no ...
  #1 (permalink)  
Antiguo 29/06/2006, 11:59
 
Fecha de Ingreso: febrero-2005
Mensajes: 623
Antigüedad: 12 años, 9 meses
Puntos: 10
Enviar variables JS y recogerlas como PHP

Tengo este script y ya intente enviar variables por medio de un iframe (Remote Scripting), lo cual lo hace pero muy tarde, y AJAX no lo hace, Veamos como va el script prueba.php

1.Creo session de usuario
Código PHP:
session_start();

if(!isset(
$_SESSION['usuario_sesion']))
{
$token=uniqid("");
$better_token uniqid(rand());
$_SESSION['usuario_sesion']=$better_token;

2. Aqui envio variables al server, se puede hacer de dos maneras

a) un metodo clasico de Remote Scripting, funciona tarde, porque tengo que recargar la pagina

Código PHP:

<script type="text/javascript"> 
function autoresol(){
var imagen = document.getElementById("imagen");
imagen.src = 'http://augustino.net/Res/ins.php?resolucion='+screen.width+'&idusuario=<?php print($_SESSION['usuario_sesion']);?>';
}
</script></head>
<body onLoad="autoresol();">
<iframe id="imagen"></iframe>
b) Usan AJAX, para empezar ni el readyState me responde

Código PHP:

<script type="text/javascript">
function initRequest() {
           // code for Mozilla, etc.
       if (window.XMLHttpRequest) {
           return new XMLHttpRequest();
       } else if (window.ActiveXObject) {
               // code for IE
           isIE = true;
           return new ActiveXObject("Microsoft.XMLHTTP");
       }
   }


    function guardarAlgoEnServer (){

        var res = screen.width;
        var url = "ins.php?resolucion="+res+"&idusuario=<?php print($_SESSION['usuario_sesion']);?>";
        
           var req = initRequest();
           req.onreadystatechange = function() {
               // if xmlhttp shows "loaded"
               if (req.readyState == 4) {
                       // if "OK"
                   if (req.status == 200) {
                       manejarRespuesta(req.responseXML);
                   } else if (req.status == 204){
                       alert("error al solicitar informacion al servidor");
                   }
               }
           }
           req.open("GET", url, true);
           req.send(null);
    }
</script>
3. Aqui recogo la consulta que se hizo atravez del iframe o del AJAX, la cual solo es obtenida si es recargada la pagina sino da un erro de que el campo no puede ser obtenido, significa que no fue hecho a "tiempo" lo que se tenia que hacer en ins.php

Código PHP:

$filares
=mysql_query("SELECT * FROM resoluciones WHERE userid='".$_SESSION['usuario_sesion']."'");

   
$laresolucionmysql_result($filares,0,'res');

echo 
$laresolucion
___Termina prueba.php

En el archivo ins.php hago un INSERT a la Base de datos de la siguiente manera:

Código PHP:

/*if[$_GET['resolucion']==""){
$res="800";
}
*/
$laid=$_GET['idusuario'];
$res=$_GET['resolucion'];
$laip=$_SERVER['REMOTE_ADDR'];
//establece una conexión con la base de datos.


$consulta_select "SELECT userid FROM resoluciones WHERE userid='" $laid "'";

$resultado=mysql_query($consulta_select,$conexion) or die("No se pudo insertar los datos en la base de datos.");

if(
mysql_num_rows($resultado) > 0
{

}
else
{
$consulta_insertar "INSERT INTO resoluciones (userid, res, ip) VALUES ('$laid', '$res', '$laip')";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");


Logicamente en el caso del IFRAME cuando se esta haciendo la consulta para obtener el campo de la BD, todavia el IFRAME no carga completamente y no concluye de hacer el INSERT, y por eso cuando recargo la pagina si funciona porque ya estuvo hecho

Pero que hago para que funcione a la primera vez sin necesidad de andar recargando, porque al usuario no le voy andar diciendo que recarge la pagina, por un error mio

Agradesceria muchisimo me ayudaran, por favor

Última edición por August; 29/06/2006 a las 16:17
  #2 (permalink)  
Antiguo 29/06/2006, 16:23
 
Fecha de Ingreso: febrero-2005
Mensajes: 623
Antigüedad: 12 años, 9 meses
Puntos: 10
Cambie el titulo porque se oia muy complicado la verdad no.

Lo que pasa es que envio una variable de JavaScript a un archivo PHP, lo hice por medio de un IFRAME y de AJAX, por IFRAME si me funciona, pero el problema es que cuando hace la consulta a la Base de Datos, todavia el IFRAME no termina de hacer el INSERT

Entonces tengo que hacer que termine de cargar el IFRAME y luego ya que continue con la consulta

Les agradesco de antemano su ayuda
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:10.