Пример 3 <!-- При отправке формы вызывается функция login() из ajax_framework.js -->

<Прайс_лист_фруктов>

<Фрукт>Яблоки</Фрукт>

<Цена>$1</Цена>

<Фрукт>Мандарины</Фрукт>

<Цена>$2</Цена>

</Прайс_лист_фруктов>

На стороне клиента XML способен предоставить разработчикам Web огромные возможности. Поддержку XML содержат браузеры Microsoft Internet Explorer версии 5.0 и выше, а также Netscape Navigator версии 6.0 и выше. Однако даже если во все браузеры будет включена полная поддержка XML, все же останутся некоторые проблемы:

§ изучить XML труднее, чем HTML;

§ пока еще недостаточно инструментов для работы с XML в визуальной среде.

Начинать изучение XML следует с применения уже полученных знаний о HTML. XML, как и HTML, является языком тегов и атрибутов. В XML, как и в HTML, содержание элемента окружено парой тегов - открывающим и закрывающим. Однако, в XML имена тегов рекомендуется делать более информативными:

<h1>Текст заголовка</h1> <!-- HTML -->

<заголовок>Текст заголовка</заголовок> <!-- XML -->

В отличие от HTML в XML:

имеется чувствительность к регистру;

все значения атрибутов должны быть заключены в кавычки:

<IMG height=20 width=20 src="i.gif"> <!-- HTML -->

<image height="20" width="20" source="i.gif"/> <!-- XML -->

каждый тег пустого элемента, не имеющий закрывающего тега, должен иметь косую черту в конце.

Создание Ajax-приложения без использования XML

Пример: Форма запроса регистрационной информации.

Оригинал статьи здесь

Для начала создадим форму ввода регистрационной информации и подключим скрипт из внешнего файла, содержащий необходимые функции (XMLHttpRequest и др.)

<script src="ajax_framework.js" language="javascript"></script>

<!-- Место для AJAX ответа -->

<div id="login_response"></div>

<!-- При отправке формы вызывается функция login() из ajax_framework.js -->

<form action="javascript:login()" method="post">

<input name="emailLogin" type="text" id="emailLogin" value=""/>

<input name="pswLogin" type="password" id="pswLogin" value=""/>

<input type="submit" name="Submit" value="Login"/>

</form>


Обработчик ajax_framework.js:

/* ------------------------ */

/* XMLHTTPRequest Enable */

/* ------------------------ */

function createObject() {

var request_type;

var browser = navigator.appName;

if(browser == "Microsoft Internet Explorer"){

request_type = new ActiveXObject("Microsoft.XMLHTTP");

}else{

request_type = new XMLHttpRequest();

}

return request_type;

}

var http = createObject();

/* ----------------------- */

/* LOGIN */

/* ----------------------- */

/* Переменная nocache содержит случайное число, добавляемое в запрос

для предотвращения кеширования браузером запроса */

var nocache = 0;

function login() {

// Отображаем соощение в области ID ajax_response

document.getElementById('login_response').innerHTML = "Loading..."

// Проверяем, что все поля не пустые. Используем encodeURI() для кодирования недопустимых символов в запросе.

var email = encodeURI(document.getElementById('emailLogin').value);

var psw = encodeURI(document.getElementById('pswLogin').value);

// Получаем случайное число

nocache = Math.random();

// Pass the login variables like URL variable

http.open('get', 'login.php?email='+email+'&psw='+psw+'&nocache = '+nocache);

http.onreadystatechange = loginReply;

http.send(null);

}

function loginReply() {

if(http.readyState == 4){

var response = http.responseText;

if(response == 0){

// if login fails

document.getElementById('login_response').innerHTML = 'Login failed! Verify user and password';

// else if login is ok show a message: "Welcome + the user name".

} else {

document.getElementById('login_response').innerHTML = 'Welcome'+response;

}

}

}


На предыдущем шаге функция login() получила и отправила в login.php две переменных (email and psw) для проверки наличия пользователя в базе данных.
Проверку осуществляет login.php:

<!-- Include Database connections info. -->

<?php include('config.php');

// Verify if user exists for login

if(isset($_GET['email']) && isset($_GET['psw'])){

$email = $_GET['email'];

$psw = $_GET['psw'];

$getUser_sql = 'SELECT * FROM USER WHERE email="'. $email. '" AND psw = "'. $psw. '"';

$getUser = mysql_query($getUser_sql);

$getUser_result = mysql_fetch_assoc($getUser);

$getUser_RecordCount = mysql_num_rows($getUser);

if($getUser_RecordCount < 1){ echo '0';}

else { echo $getUser_result['nick'];}

}

?>


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: