Ejecutar un php y seguir navegando.

Iniciado por xustyx, 14 Noviembre 2011, 02:15 AM

0 Miembros y 1 Visitante están viendo este tema.

xustyx

Buenas a todos!!

Llevo varios días en un pequeño proyecto y, poco a poco, va tomando forma.

Ahora mismo estoy buscando una manera de ejecutar un codigo php y de mientras seguir navegando por la web, me refiero a que, al enviar un post, el browser se queda pensando hasta que el servidor realiza la acción, pero a mí me interesa que al enviar el post se pueda seguir navegando.

Si no me habéis entendido, imaginar un php que tiene que copiar y calcular 40000 operaciones, nosotros damos click al form, empieza eso, y ha esperar...

Se me habían ocurrido unas cuantas maneras, pero no me funcionan.
Una era, ponerle un header("Location: blahblahblabh"); pero no redirecciona hasta que termina.

Otra era, en el form, dirigirme a un php con un header("Location: blablalblalbalabl"); y que a su vez ejecutara el otro php... Pero nada.

Así, que lo único que me queda es esperar a que me digáis la palabra AJAX que supongo que será de ese modo. XD

Bueno al fin y al cabo, quiero realizar una página, que mientras este el codigo php en ejecución muestre algo típico como: Cargando, Nº de petición $num, Tiempo restante aprox: $tm.

Un saludo a tod@s!!

Lunfardo

para que haces un thread donde respondes tu propia pregunta?

#!drvy


xustyx

MMM si me podeis echar un cable... más o menos eso como va?¿?

El archivo php, a la vez que trabaja, copia por ejemplo la variable del bucle en otro archivo, mientras ajax lee ese archivo y le pasa la variable a javascript y cada X tiempo la actualiza??? O como es eso ... XDDD

Si teneis algo de code, donde pueda leer lo más sencillo de lo sencillo, se agradece.

#!drvy

Bueno yo para empezar te recomendaría jQuery. Es muy facil de usar y con 6 lineas (literalmente) haces una peticion get o post y devuelves el contenido.

Si quieres hacer la pagina multi-tarea (hacer 2 o mas cosas a la vez), creo yo, que vas a tener que hacerla entera bajo ajax, vamos que cualquier cosa se mueva gracias a eso.

CitarEl archivo php, a la vez que trabaja, copia por ejemplo la variable del bucle en otro archivo, mientras ajax lee ese archivo y le pasa la variable a javascript y cada X tiempo la actualiza??? O como es eso ... XDDD

Si y no xD
Veras lo que haces tu es mandar la petición a un archivo php, y este se procesa al mismo tiempo al que la mandas (sin tener que recargar ni nada).. es como si la cargase en un iframe y luego te devuelve la respuesta del archivo.

Te pongo un ejemplo.

archivo.php
Código (php) [Seleccionar]

<?php
// aqui todo la ***** que tiene que procesar
// por ejemplo xD
if(isset($_GET['nombre'])){echo $_GET['nombre'].', eres un pollo robot!!!!';} 
?>



archivo.html (con jquery)
Código (javascript) [Seleccionar]
<html>
<head>
<title>oseaaa helloooo</title>
<script src="http://code.jquery.com/jquery-1.7.min.js"></script>
<script>
$(document).ready(function() {
$('#botoncarga').click(function() {
$.get("archivo.php", { nombre: $('#nombre').val() }, function(data){
alert(data);
});
});
});
</script>
</head>
<body>
<div>
<label>Nombre</label>
<input type="text" id="nombre" />
<input type="button" id="botoncarga" value="Que soy" />
</div>
</body>
</html>


Esto lo que hace es procesar el "archivo.php", enviarle el paramentro get "nombre" y devolver la respuesta.

Lo que quieres tu se podria adaptar perfectamente y es bastante sencillo.
Te dejo unos enlaces.


Si necesitas mas cosas, solo pide xD


Saludos

xustyx

Muchas gracias, perdon por tardar tanto en dártelas, pero, he estado muy liado :P