A PHP Error was encountered

Severity: Notice

Message: Only variables should be passed by reference

Filename: codeigniter/Common.php

Line Number: 148

A PHP Error was encountered

Severity: Notice

Message: Only variables should be passed by reference

Filename: codeigniter/Common.php

Line Number: 148

A PHP Error was encountered

Severity: Notice

Message: Only variables should be passed by reference

Filename: codeigniter/Common.php

Line Number: 148

A PHP Error was encountered

Severity: Notice

Message: Only variables should be passed by reference

Filename: codeigniter/Common.php

Line Number: 148

A PHP Error was encountered

Severity: Notice

Message: Only variables should be passed by reference

Filename: codeigniter/Common.php

Line Number: 148

A PHP Error was encountered

Severity: Notice

Message: Only variables should be passed by reference

Filename: codeigniter/Common.php

Line Number: 148

A PHP Error was encountered

Severity: Notice

Message: Only variables should be passed by reference

Filename: codeigniter/Common.php

Line Number: 148

A PHP Error was encountered

Severity: Notice

Message: Only variables should be passed by reference

Filename: codeigniter/Common.php

Line Number: 148

A PHP Error was encountered

Severity: Notice

Message: Only variables should be passed by reference

Filename: codeigniter/Common.php

Line Number: 148

A PHP Error was encountered

Severity: Notice

Message: Only variables should be passed by reference

Filename: database/DB.php

Line Number: 133

Создаем Ajax конвертер валют | MasterInWeb.Net

Создаем Ajax конвертер валют

Помимо основных функций поисковой системы Google предоставляет ещё и множество других услуг. Одна из них это калькулятор с расширенными возможностями. Как это можно использовать узнаете в этой статье.

Давайте начнём. Создайте новый файл index.php и вставьте следующий код:












У нас 2 выпадающих меню с наименованиями валют, поле для суммы и кнопка. Ниже div с id results, который будет отображать результаты.

Теперь сделаем AJAX запрос получения и отображения результата конвертирования:

$(document).ready(function() {
	$('#submit').click(function(){
		// получаем значения
		var amount     = $('#amount').val();
		var from       = $('#from').val();
		var to         = $('#to').val();
		var params = "amount=" + amount + "&from=" + from + "&to=" + to;
		$.ajax({
			type: "POST",
			url: "convert.php",
			data: params,
			success: function(data){
				$('#results').html(data);
			}
		});
	});
});

Мы делаем ajax запрос к файлу convert.php и если всё прошло успешно выводим результат в div.

А вот и convert.php

// фильтруем входящие данные filter_input

$amount = filter_input(INPUT_POST, 'amount', FILTER_VALIDATE_INT);
$from   = filter_input(INPUT_POST, 'from', FILTER_SANITIZE_SPECIAL_CHARS);
$to     = filter_input(INPUT_POST, 'to', FILTER_SANITIZE_SPECIAL_CHARS);

// фомирования сроки параметров для запроса

$encoded_string = urlencode($amount) . urlencode($from) . '%3D%3F' . urlencode($to);
$url = 'http://www.google.com/ig/calculator?hl=en&q='. $encoded_string;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
$results = curl_exec($ch);

// это функция json_decode для счастливых обладателей PHP < 5.2.0
// взято с php.net

$comment = false;
$out = '$x=';
for ($i=0; $i<strlen($results); $i++) {
	if (!$comment) {
		if ($results[$i] == '{')            $out .= ' array(';
		else if ($results[$i] == '}')       $out .= ')';
		else if ($results[$i] == ':')       $out .= '=>';
		else                                $out .= $results[$i];
	} else $out .= $results[$i];
	if ($results[$i] == '"')    $comment = !$comment;
}
// формирование переменной $x, которая содержит декодированный массив
echo eval($out . ';');
echo $x['lhs'] . ' = ' . $x['rhs'];

Этот код в принципе не сложный, но я бы хотел пояснить вот что:

$amount = filter_input(INPUT_POST, 'amount', FILTER_VALIDATE_INT);
$from = filter_input(INPUT_POST, 'from', FILTER_SANITIZE_SPECIAL_CHARS);
$to = filter_input(INPUT_POST, 'to', FILTER_SANITIZE_SPECIAL_CHARS);

Этот код действительно интересный. Он работает только начиная с PHP 5.2.0. Эта функция с лёгкостью фильтрует данные.

Её можно использовать как для неизвестных ресурсов, так и для введённых пользователем данных.

Благодаря filter_input вы можете фильтровать:

  • INPUT_GET
  • INPUT_POST
  • INPUT_COOKIE
  • INPUT_ENV
  • INPUT_SERVER

Если фильтрация произошла успешно, функция вернёт чистое значение. Если произойдёт ошибка, то FALSE. NULL если не заданы параметры.

Готово!

Просмотров: 18418      Дата: 08.03.2011 22:20:56
Понравился урок? Добавьте его к себе в закладки.

Последние уроки категории:

Установка jQuery плагина - jDigiClock - Digital Clock

jDigiClock — интересный плагин, выполненный на jQuery. Вдохновением для данного плагина стал виджет Hero Clock на HTC. Плагин может показывать цифровое время и погоду, достаточно удобно настраивается и его легко устанавливать.

Русско-английский переводчик используя Google Ajax API

Google предоставляет разработчикам массу возможностей для работы со своими сервисами. Как вы наверное поняли из названия поста, я буду использовать Google AJAX API. Что же это такое и для чего это нужно можно прочитать здесь и здесь. Для работы нам понадобятся: php и jQuery.

Создаем Ajax конвертер валют

Помимо основных функций поисковой системы Google предоставляет ещё и множество других услуг. Одна из них это калькулятор с расширенными возможностями. Как это можно использовать узнаете в этой статье.

Красивое акордеон меню на jQuery

В этом уроке Вы узнаете, как создать известный JavaScript аккордеон меню с самым минимальным количеством HTML, CSS, JavaScript кодом и, конечно, с красивым интерфейсом.

Выпадающее меню с помощью jQuery

В этом уроке я покажу Вам, как создать выпадающее меню. Для реализации нашей задумки, мы будем использовать JavaScript библиотеку jQuery. Такое меню, в настоящее время, очень часто используется на различных сайтах.

Комментарии:

  • Осталось: 1000 символов.
    Сохранить комментарий Отправка комментария
lessons
downloads
search
hosting

Ищите хороший и не дорогой хостинг?

Хостинг avahost.ua
VPS VDS - виртуальный выделенный сервер
sistems
Обменник.ws