Sessioni e oggetti funzionano ancora con Ajax. Le sessioni mantengono le informazioni sul lato server e gli oggetti sono solo strutture organizzative per il codice che viene eseguito lì. Molto di quello che stai chiedendo è roba che raccogli dalla programmazione dell'esperienza in generale. Dovresti fare un po 'di lettura e pianificare di elaborare un piano più solido su come vuoi che l'applicazione funzioni.
Innanzitutto, controlla le risorse come le seguenti:
www [punto] phptherightway [punto] com
www [punto] codecademy [punto] com / track / javascript-combined
Più in particolare:
link
link
Questi sono i fondamenti dell'organizzazione del codice. Impara presto e la vita sarà più facile lungo la strada. Una volta che hai perso quelle parole, probabilmente saprai dove andare per trovare soluzioni più avanzate. Naturalmente, StackOverflow è una grande risorsa per trovare tutti i tipi di soluzioni.
Ricorda sempre che con AJAX stai facendo lo stesso ciclo di richiesta / risposta che fai sempre dal punto di vista lato server. Dal punto di vista del cliente, tratti sezioni della pagina come piccoli browser indipendenti che sono in grado di fare nuove richieste mentre stai guardando la pagina. Quindi, tenendo presente questo, il seguente esempio potrebbe essere un metodo per ottenere ciò che stai cercando di fare.
segmento del file di intestazione
<script>
jQuery(function(){
jQuery('#login').click(function(e){
//stops form from submitting via normal behavior
e.preventDefault();
//cache the form element because each time
//you do a jQuery() search, a puppy dies
var form = jQuery(this).parents('form');
jQuery.post(
form.attr('action'),
form.serialize(),
function(data) {
var responseString = 'Logged in as ' + data.firstName + ' ' + data.lastName;
form.html(responseString);
}
);
});
});
</script>
<form action="ajax_controller.php">
<input type="hidden" name="action" value="authenticate" />
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" />
</form>
controller ajax
<?php
if ($_SERVER['HTTP_X_REQUESTED_WITH']) {
/* Safety first, but use the mysqli version of
* this if you are using a mysql db
*/
foreach ($_POST as $post)
$_POST = mysql_real_escape_string($post);
if ($_POST['action'] === 'authenticate') {
$user = new User($_POST['username']);
$success = $user->authenticate($_POST['password']);
//let's pretend authenticate() returns true or error message
if ($success === true) {
$response = array(
'firstName' => $user->get_firstName(),
'lastname' => $user->get_lastName()
);
return json_encode($reponse);
} else {
return $success;
}
}
} else {
//bark and throw exception, or return html, or whatever
}