Actualmente estoy trabajando en un proyecto que incluye el SDK de Facebook. Ya logré iniciar sesión/cerrar sesión usando el código javascript.
Estoy usando una solicitud POST de AJAX para guardar el ID de usuario y el nombre de la respuesta en una sesión.
El problema aquí es que tengo que volver a cargar la página dos veces, la primera vez para obtener los parámetros POST y guardarlos en $_SESSION. Se necesita la segunda actualización para cargar la sesión.
¿Hay una manera limpia de evitar eso?
javascript: $.post( "login.php", { id:userID, name:response.name } );
login.php: $_SESSION['name'] = $_POST['name']; $_SESSION['userID'] = $_POST['id'];
Agradezco todo tipo de ayuda. Gracias.
editar: Me gustaría darle al usuario que inició sesión con Facebook oportunidades adicionales en mi sitio web. La única forma en que sé cómo hacer esto es con una sesión en PHP. Cada vez que iniciaba sesión, creaba una sesión que decía que una persona había iniciado sesión.
Ahora tengo que hacer lo mismo con un inicio de sesión de Facebook. Ya funcionaba localmente con PHP SDK, pero el espacio web no es compatible con ese tipo de SDK. Es por eso que tengo que esquivar al de javascript. ¿Hay otra manera de asegurarse de que una persona esté registrada?
Estás usando AJAX,
Para que pueda evitar la recarga de la página,
<?php session_start(); if (isset($_GET['name'])) {$_SESSION['name'] = $_GET['name'];} if (isset($_GET['userID'])) {$_SESSION['userID'] = $_GET['userID'];} if(isset ($_POST['name'] ) && isset ($_POST['userID'])){ $_SESSION['name']= $_POST['name']; $_SESSION['userID']= $_POST['userID']; }else{ $_SESSION['userID'] = 0; } ?>y el código javascript es:
$.post( "/login.php", { id:userID, name:response.name } );