Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Програмні бібліотеки підтримки розробки Web-додатків

Тип роботи: 
Дипломна робота
К-сть сторінок: 
70
Мова: 
Українська
Оцінка: 

$data записується поточний час і ім‘я користувача.

<? php if (! defined (•BASEPATH')) exit ('No direct script access allowed’)
class User extends CI_Controller {
function__construct ()
{
parent: : construct () ;
}
function index ()
{
$this->load->view ('login') ;
}
function login_result ()
{
$this->load->database () ;
$this->load->model ('usernodel') ;
if ($this->usernodel->login ($this->input->post («name»), $this->input->post («pwd»)))
{
$data[’unane']=$this->input->post («nane») ;
$this->load->view ('afterloginOK', $data) ;
}
else
{
$data['unane']=$this->input->post («nane») ; $data['dt']=date ('H: i: s') ;
$this->load->view ('afterloginBAD', $data) ;
}
}
}
Рисунок 3. 4. Програмний код контролера User
 
Створення моделі проекту
Моделі традиційно відповідають за взаємодію із базою даних, тому відповідний клас прикладу містить функцію порівняння даних про користувача із вмістом бази даних. Слід зауважити, що CodeIgniter виконує під‘єднання автоматично під час завантаження об‘єкта database, тому код класу моделі містить лише команди доступу до таблиць бази даних (див. рисунку 3. 5).
<? php
class Usernodel extends CI_Model {
function__construct ()
{
// Call the Model constructor parent: : construct () ;
}
function login ($unane, $upud)
{
$sql – «SELECT count (*) cnt FROM users WHERE unane -? AND upwd -?»;
$q – $this->db->query ($sql, array ($unane, $upud)) ;
$row – $q->row () ;
return ($row->cnt > 0) ;
}
}
Рисунок 3. 5. Реалізація класу моделі проекту
 
Зазначимо, що оскільки CodeIgniter є об‘єктно-орієнтованою бібліотекою, то результати, що повертаються з бази даних, мають вигляд об‘єктів класу запиту (у прикладі: $row->cnt), де члени класу відповідають полям, визначеним у запиті select.
 
Створення подання даних
Проект містить 3 форми: уведення даних про користувача, успішної та неуспішної аутентифікації користувача. Код відповідних файлів містить HTML-шаблон та фрагменту PHP. Вміст відповідних файлів наведено на рисунках 3. 6-3. 8.
<! DOCTYPE html>
<html lang=«en»>
<head>
<meta charset=«utf-8»>
<titlе>АутентиФікація</titlе>
<style>
*{font-family: Arial}
p{nargin: 5px 0 0 0}
</style>
</head>
<body>
<h3>АутентиФікація</h3>
<forn action=«/index. php/user/login_result» method=«post»>
<p> Ім'я: </p><p> <input type=«text» name=«name» value=««> </p>
<p> Пароль: </p><p> <input type=«password» name=«pud» value=««> </p>
<p><input type=«submit» value=«Перевірити»/>
</form>
</body>
</html>
 
Рисунок 3. 6. HTML-шаблон та візуальна форма сторінки уведення даних про користувача
 
<! DOCTVPE html>
<html lang=«en»>
<head>
<meta charset=«utf-8»>
<titlе> </titlе>
<style>
*{font-family: Arial}
p{margin: 5px 0 0 0}
</style>
</head>
<body>
<h3>АутентиФікація успішна</h3>
<p> Користувач: <? =$uname? > </p>
</body>
</html>
Рисунок 3. 7. HTML-шаблон та візуальна форма сторінки успішної аутентифікації (файл afterloginOK. php)
 
На рисунку 3. 7 міститься фрагмент мовою PHP <? =$uname? >, яка вказує, що необхідно вставити значення змінної $uname, яка була передана з контролера ($data[„uname‟]).
<! DOCTVPE html>
<html lang=«en»>
<head>
<meta charset=«utf-8»>
<titlе> </titlе>
<style>
*{font-family: Arial}
p{margin: 5px 0 0 0}
</style>
</head>
<body>
<h3>АутентиФікацію не виконано</h3>
<р>Користувач: <? =$uname? > </р>
<р>Дата/час спроби: <? =$dt? > </р>
</body>
</html>
 
Рисунок 3. 8. HTML-шаблон та візуальна форма сторінки неуспішної аутентифікації (файл afterloginBAD. php)
 
Аналогічно файлу afterloginOK. php на рисунку 3. 8 проілюстровано HTML-шаблон із фрагментами PHP виведення змінних з іменем користувача та поточного часу, значення яких встановлено у контролері додатку.
 
3.3. Приклад використання бібліотеки JQuery для обміну даними засобами Ajax
 
Серед застосувань бібліотеки JQuery найбільш поширеним є динамічне завантаження інформації у елементи сторінки HTML. Як приклад розглянемо задачу виведення підказки в залежності від набраного користувачем тексту в поле форми (рисунок 3. 9). Для реалізації даної задачі необхідно створити три файли і розмістити їх на сервері:
1. HTML-сторінка (hint. html).
2. Програма мовою Javascript із використанням JQuery (hint. js).
3. Текстовий файл, який містить можливі підказки (hint. txt).
 
Рисунок 3. 9. Результат роботи асинхронного завантаження даних у HTML-сторінку
 
HTML-сторінка містить код, який задає структуру документа (рисунок 3. 10) :
<C! DOCTVPE html>
<html>
<head>
<script type^'text/jauascript» src=«jquery;. js»></script>
<script type=«text/jauascript» src=«hint. js»></script>
<meta charset=utf-8 />
<title> Приклад Jquery Ajax</title>
<style type=«text/css»>
#hint {border: 1px solid black; margin: 0}
#hint>diu: houer {background: ttccc}
#hint {display: none; margin-left: 4px>
</style>
</head>
<body>
<form>
<diu>Mido: </diu>
<input type^'text» autoconplete=«off» id=«city»/>
<diu id=«hint»></diu>
</form>
</body>
</html>
Рисунок 3. 10. HTML-код сторінки
 
З рисунка 3. 10 видно, що для
Фото Капча