|
|
|
| Можете показать пример простейшей (повторюсь) авторизации на Ajax. | |
|
|
|
|
|
|
|
для: nikolayers
(14.05.2011 в 18:42)
| | Собственно это две раздельные задачи: авторизация и ajax-обновление страницы. У вас что вызывает затруднение, сама авторизация или организация ajax-вызова?
[поправлено модератором: ветка про AJAX на форуме выделена в новую тему http://softtime.ru/forum/read.php?id_forum=2&id_theme=80739] | |
|
|
|
|
|
|
|
для: cheops
(14.05.2011 в 19:08)
| | авторизация (сам php скрипт) в написании трудностей не вызывает. Я так понимаю пароль и имя ему посылаются через метод $_GET[]...Так как средствами Ajax это осуществить, а потом еще и получить ответ | |
|
|
|
|
|
|
|
для: nikolayers
(15.05.2011 в 14:24)
| | Допустимо ли использование библиотеки jQuery для осуществления AJAX-вызова? | |
|
|
|
|
|
|
|
для: cheops
(15.05.2011 в 15:02)
| | конечно...мне бы понять как осуществляется вызов...если jquery облегчает это дело (я то не знаю), то это куда лучше | |
|
|
|
|
|
|
|
для: nikolayers
(15.05.2011 в 15:38)
| | У вас должно получиться три файла, первый jquery.js с библиотекой jQuery нужно найти на сайте этой библиотеки или на любом другом сайте, где она применяется. Второй файл index.php будет главным (все файлы в кодировке UTF-8, чтобы не возиться с перекодированием)
<!-- index.php --><html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8" />
<title></title>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#id_button").click(function(){
var pattern = /^$/;
var name = $('#id_name').val()
if(name.match(pattern))
{
alert('Пожалуйста заполните поле "Имя"');
return false;
}
var name = $('#id_pass').val()
if(name.match(pattern))
{
alert('Пожалуйста заполните поле "Пароль"');
return false;
}
var url = "handler.php?";
url += 'name=' + $('#id_name').val();
url += '&padd=' + $('#id_pass').val();
url = encodeURI(url);
// Отправляем асинхронный запрос
$('#id_form').load(url);
});
});
</script>
<style type="text/css">
.name {
width: 70px;
float: left;
text-align: right;
padding-right: 10px;
}
.fld {
float: left;
}
.fld input {
width: 220px;
}
#id_form {
width: 300px;
margin: 10px;
padding: 10px;
background: #eee;
}
.btn {
float: right;
}
</style>
</head>
<body>
<div id='id_form'>
<?php
require_once("handler.php");
?>
</div>
</body>
</html>
| Как видно этот файл включает и использует в качестве AJAX-обработчика файл handler.php, следующего содержания
<!-- handler.php --><?php
// GET-параметры не переданы, выводим форму
if(empty($_GET['name']))
{
?>
<div class='name'>Имя:</div>
<div class='fld'><input type='text' id='id_name' name='name' /></div><br style='clear: both;' />
<div class='name'>Пароль:</div>
<div class='fld'><input type='password' id='id_pass' name='pass' /></div><br style='clear: both;' />
<div class='btn'><input type='button' id='id_button' value='Отправить' /></div>
<?php
}
else
{
// Заглушка для аторизации
echo "Здравствуйте, ".htmlspecialchars($_GET['name']).".";
}
?>
| Если GET-параметры пустые - выводится форма для ввода данных, если обработчику передан логин и пароль то управление передается блоку авторизации (он тут не реализован). Удобнее завести сессию и поправить условие if() или вообще всю логику handler.php, чтобы помоимо GET-параметров учитывалось состояние SESSION-флага авторизации (если он есть, не предлагать авторизовываться). | |
|
|
|