Ciao a tutti, mi sta venendo un grosso mal di testa a causa di questo problema (tenete conto che uso ajax da due giorni quindi abbiate pietà per un povero noob).
L'argomento è sempre quello accennato in "funzione di wait", ma qui devo entrare proprio nello specifico perchè sebbene sia riuscito a fare quell'esercizio con il wait non so come comportarmi nel mio caso specifico.
Dunque.
Io devo
- connettermi a facebook (operazione gestita con javascript).
- far partire una routine che fa dei lavori con facebook e con un database mysql, ogni tot secondi.
Il problema è che la connessione a facebook è un'operazione piuttosto lenta(ci possono volere anche 10 secondi a volte). Per questo voglio connettermi una volta sola e sfruttare la connessione per lavorare. Se solo ci fosse stata una funzione di wait su php che funzioni in modo accettabile non avrei questo problema, ma comunque.
Certo, potrei sempre far gestire anche la connessione al php che lancio tramite ajax; ma come dicevo è lentissima e poi connettersi ogni tot secondi a facebook non mi sembra una soluzione elegante XD
Quindi vorrei mantenere la connessione; e qui sorge il problema, perchè una volta lanciato il file php tramite ajax, quest'ultimo non ha più le informazioni di connessione. Come posso trasportare la connessione da una pagina all'altra? Vi giuro che mi sta venendo il mal di testa!
Comunque, javascript e ajax mi risultano piuttosto alieni; qui riporto il codice che serve per connettersi a facebook, così che possiate dirmi secondo voi come posso portare la connessione dall'altra parte:
Codice PHP:
window.fbAsyncInit = function() {
FB.init({
appId : '<?php echo $facebook->getAppId(); ?>',
session : <?php echo json_encode($session); ?>, // don't refetch the session when PHP already has it
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// whenever the user logs in, we refresh the page
FB.Event.subscribe('auth.login', function() {
window.location.reload();
});
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
var currentPage = "";
Grazie mille...