Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Авторизация на Ajax
 
 автор: nikolayers   (14.05.2011 в 18:42)   письмо автору
 
 

Можете показать пример простейшей (повторюсь) авторизации на Ajax.

  Ответить  
 
 автор: cheops   (14.05.2011 в 19:08)   письмо автору
 
   для: nikolayers   (14.05.2011 в 18:42)
 

Собственно это две раздельные задачи: авторизация и ajax-обновление страницы. У вас что вызывает затруднение, сама авторизация или организация ajax-вызова?

[поправлено модератором: ветка про AJAX на форуме выделена в новую тему http://softtime.ru/forum/read.php?id_forum=2&id_theme=80739]

  Ответить  
 
 автор: nikolayers   (15.05.2011 в 14:24)   письмо автору
 
   для: cheops   (14.05.2011 в 19:08)
 

авторизация (сам php скрипт) в написании трудностей не вызывает. Я так понимаю пароль и имя ему посылаются через метод $_GET[]...Так как средствами Ajax это осуществить, а потом еще и получить ответ

  Ответить  
 
 автор: cheops   (15.05.2011 в 15:02)   письмо автору
 
   для: nikolayers   (15.05.2011 в 14:24)
 

Допустимо ли использование библиотеки jQuery для осуществления AJAX-вызова?

  Ответить  
 
 автор: nikolayers   (15.05.2011 в 15:38)   письмо автору
 
   для: cheops   (15.05.2011 в 15:02)
 

конечно...мне бы понять как осуществляется вызов...если jquery облегчает это дело (я то не знаю), то это куда лучше

  Ответить  
 
 автор: cheops   (15.05.2011 в 16:33)   письмо автору
 
   для: 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-флага авторизации (если он есть, не предлагать авторизовываться).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования