Теперь в чем разница обычного и аякс-запроса:
<?php
/*
тут пропущены функции коннекта и записи в бд
*/
class SomeClass extends ClassGettersWithSetters {
protected function get_ajax(){
/*
любым способом проверяется что это аякс
например по заголовку - канонично
по ключу в урле
по спец-полю
по кукам
ниже - по заголовку и факт кешируется в проперти объекта
*/
return $this->_d['ajax']=isset($_SERVER['HTTP_X_REQUESTED_WITH'])
&& strcasecmp($_SERVER['HTTP_X_REQUESTED_WITH'],'xmlhttprequest')==0;
}
}
if (isset($_POST['name'])) {
$name = $_POST['name'];
if (isset($_POST['description'])) $description = $_POST['description']; else $description = "";
add_item($name, $description);
/*
То есть все как обычно до этой развилки: если аякс - отпостить
в браузер слово Saved и сдохнуть, а если не аякс то пропустить и нарисовать форму
*/
if($this->ajax)
exit('Saved');
}
?>
<form name="itemform" action="item.php" method="post">
Название:
<input type="text" name="name">
Описание:
<input type="text" name="description">
<input type="submit" value="Добавить">
</form>