Tengo el siguiente script ( utilizo jQuery ):
Código Javascript:
Ver original
$(".realizar_pedido a").click(function(){ $.ajax( * * * * { async:false, cache:false, * * * * * * url:'validar_carrito.php', * * * * * * type:'POST', * * * * * * data:'ing=' + lista_final, * * * * * * beforeSend:function(objeto){ * * * * * * * * * * * * * * }, * * * * * * success:function(data){ * * * * * * * * * * * * * * * * * *}, * * * * * * complete:function(){ } }); });
En validar_carrito.php tengo lo siguiente :
Código PHP:
Ver original
<?php include("conexion.php"); $consulta_categorias = "INSERT INTO `cecweb`.`enl_pedido` (`ID`, `UID`, `PEDIDO`) VALUES (NULL, '" . session_id() . "', '" . $_POST['ing'] . "');"; ?>
Validar carrito lo he modificado 200 veces ya, he utilizado sesiones en vez de base de datos, pero con identico resultado.
La cuestión es que esto en local, funciona casi el 100% de las veces, pero en online... no funciona ni 1.
Parece ser que a php no le da tiempo a finalizar su ejecución antes de que el Javascript pase a la siguiente pagina, no lo se he buscado varias soluciones, como lo de la ejecución sincrona, pero no hay manera, utilice bases de datos como ahora o utilice sesiones para pasar ese dato a la siguiente página es lo mismo.
Se os ocurre alguna idea ?
Basicamente lo que tengo es una variable Javascript que quiero pasar a otra pagina es tan simple como eso, la historia es que esa variable la debe leer PHP entonces, por eso lo hago a traves de sesiones o base de datos.
Me plantee utilizar localStorage pero aun no encuentro la manera de leer desde PHP algo del localStorage, evidentemente se que el localStorage es de lado del cliente y PHP de lado del servidor, pero por ejemplo PHP tiene maneras de leer una cookie que esta en el cliente pero el localStorage de momento no he visto que pueda hacerlo, en fin...
¿ Alguna idea de porque falla esto ?
Gracias por todo