"vabbè ma a parte che non capisco questo punto, ma visto che sei solo te a fare tutto, usa un browser solo."

Anche se fossi solo io a usarlo (che non l'ho mai detto), potrei comunque avere un browser attivo su un pc, un browser su un tablet o cell e un browser su un'altra postazione. Insomma serve multibrowser.


"php risponde con i dati che tu lo istruisci a esprimere. [...] ajax fa le richieste dei dati che tu gli dici di richiedere, e solo di quelle e null' altro che di quelle.
"
Ma sì, certo. Ho detto generico e specifico solo per farti capire che sono due chiamate ajax distinte effettuate dallo stesso script; quella ogni secondo e una che parte con determinati eventi onclick.

"il server risponde con una echo: questa echo è quella che tu gli dici di dare e non altre "

Quindi se io ho:

if ($_SESSION["getTemp"] != '' ) {
echo "getTemp=" . $_SESSION["getTemp"];
}

e $_SESSION["getTemp"] è '' tu dici che il server non mi risponde '' anche se non c'è nessun echo '' ?
E quindi la successiva chiamata ajax dello script non può avvenire perché non c'è risposta dal server? Invece avviene.


"Che poi ogni browser avanzi la stessa richiesta e ottenga la stessa risposta, non vuol dire che la risposta dovuta ad uno arrivi ad un altro: vuol dire soolo che lo stesso tupi di richiesta è mandata da più istanze, e ogni istanza riceve rigorosamente la sua risposta (che sia eguale non deve dissimulare ai tuoi occhi il fatto che sono risposte diverse a contenuto identico: ma diverse)."

Ma guarda che io ho capito. Sei tu che non hai capito quello che ho scritto.
Non ho detto che il server risponde a casaccio. Ho detto che invia una risposta con dati sbagliati a un browser che gli ha fatto una richiesta.
Cioè voglio individuare un solo browser a cui inviare quei dati e non il primo browser che mi fa la richiesta, dato che ne ho più di uno contemporaneamente.

"No scusami, ma non hai una sufficiente comprensione concettuale di ajax - nulla di male ma bisogna che ti convinci di questo aspetto: questa cosa che tu dici non esiste. "

E ancora... Ho capito benissimo come funziona!


Se ho ad esempio:

if ( $_REQUEST['action'] == "dati" ) {

if ($_SESSION["manuale"] != '' ) {
echo "manuale=" . $_SESSION["manuale"];
$_SESSION["manuale"] = '';
}
else if ($_SESSION["getTemp"] != '' ) {
echo "getTemp=" . $_SESSION["getTemp"];
$_SESSION["getTemp"] = '';
}

}

ogni volta che il server viene contattato e $_SESSION["manuale"] = '' mi risponde con l' echo "getTemp=" . $_SESSION["getTemp"];
ma quella volta che ha recuperato i dati e quindi $_SESSION["manuale"] != '' allora mi risponde con echo "manuale=" . $_SESSION["manuale"];

MA

questa risposta la darà a qualsiasi richiesta Ajax che avrà $_REQUEST['action'] == "dati"

E quindi se ho tre browser che mi richiedono $_REQUEST['action'] == "dati", il PRIMO che arriverà dopo che $_SESSION["manuale"] != '' riceverà
echo "manuale=" . $_SESSION["manuale"];.
Dopodichè non la riceverà nessun altro perché annullo la variabile.

E il primo che arriva non è per forza quello che aveva fatto inizialmente la richiesta con l'altra chiamata Ajax.
Comunque è chiaro che come hai detto tu, non hai capito nulla di come ho impostato la cosa.

E per le richieste ogni secondo, sono da 100 byte ciascuna di solo testo, non mi pare proprio di mandare in affanno neppure un vetusto pentium3 o forse neppure un atom se è per quello. Comunque mi serve così per aggiornare la pagina in tempo quasi reale.
Infatti non mi lamento della lentezza di risposta che non c'è per niente, anzi, ma della risposta sbagliata non per colpa di ajax o del php, ma appunto del programma che ho scritto e che devo puntualizzare meglio.

Comunque forse ho risolto: domani farò inserire un ulteriore request nel browser che invia la richiesta e fino a quando non riceverà la risposta con i dati attesi, non annullerà quella variabile.
Il php quando avrà i dati da casa risponderà solo al browser che farà la richiesta con quella variabile in più e agli altri no.
Penso che funzionerà.