PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (10): [1] 2 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 140
Ammy Отправлено: 26 Января, 2011 - 10:50:36 • Тема: Сравнение данных и подгрузка на AJAX • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 3247
Long-polling.
Ammy Отправлено: 26 Января, 2011 - 10:46:39 • Тема: AJAX+PHP • Форум: JavaScript & VBScript

Ответов: 7
Просмотров: 1609
А без знания этой технологии как ещё реализовать то, что вы хотите?
Только WebSQL на стороне HTML5, или использование JSLINQ.

Традиционку выше описали: клиент <-> сервер
Ammy Отправлено: 26 Января, 2011 - 10:42:45 • Тема: Редакторы PHP • Форум: Программное обеспечение

Ответов: 421
Просмотров: 224785
У меня вопрос по phpDesigner'у возник после нескольких минут использования: как убрать задержку открытия файлов? Привыкла, что открываются мгновенно.
Ammy Отправлено: 19 Декабря, 2010 - 15:01:03 • Тема: Загрузить в БД переменную • Форум: Программирование на PHP

Ответов: 9
Просмотров: 317
Champion пишет:
Потому что строки пишутся в кавычках.
Ammy Отправлено: 21 Ноября, 2010 - 07:45:37 • Тема: Как мне сделать это? • Форум: JavaScript & VBScript

Ответов: 115
Просмотров: 52584
Цитата:
Я планирую изучать библиотеку jQuery

Пригодится.
Ammy Отправлено: 21 Ноября, 2010 - 07:14:52 • Тема: ищу простой пример ajax • Форум: JavaScript & VBScript

Ответов: 16
Просмотров: 19773
Цитата:
может представлять значительную проблему с безопасностью размещенного ресурса

А если серверная (доверенная) сторона генерирует правильный безошибочный (!evil) JSON ответ? И какие быстрые альтернативы (eval) существуют помимо проверки строковой константы с json регулярным выражением?

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. // javascript.ru
  4.  
  5. var my_JSON_object =
  6. !(/[^,:{}[]0-9.-+Eaeflnr-u nrt]/.test(data.replace(/"(.|[^"])*"/g, ''))) &&
  7. eval('(' + data + ')')
  8.  
  9.  


Кроме минималистичной альтернативы одному упомянотому вами методу из громоздкой библиотеки jQuery ничего более быстрого и безопасного я не вижу.. Посмотрите:
http://code[dot]google[dot]com/p/json-sans-eval/
Основано на http://www[dot]json[dot]org/js[dot]html

Очевидный плюс - простота использования, скромный размер minified:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var myJson = '{ "x": "Hello, World!", "y": [1, 2, 3] }';
  3. var myJsonObj = jsonParse(myJson);
  4. alert(myJsonObj.x);  // alerts Hello, World!
  5. for (var k in myJsonObj) {
  6.   // alerts x=Hello, World!  and  y=1,2,3
  7.   alert(k + '=' + myJsonObj[k]);
  8. }
  9.  




Цитата:
использования функции parseJSON

ezha пишет:
без наворотов, РАБОЧИЙ пример ajax+php+mysql без подключения сторонних библиотек типа jquery
Ammy Отправлено: 20 Ноября, 2010 - 07:03:29 • Тема: ищу простой пример ajax • Форум: JavaScript & VBScript

Ответов: 16
Просмотров: 19773
JS: XMLHttpRequest, eval('('+json+')'), PHP: json_encode(array)

Простенький пример:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. // Кроссбраузерное получение объекта для осуществления запросов
  4.  
  5. function getXmlHttp(){
  6.   var xmlhttp;
  7.   try {
  8.     xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  9.   } catch (e) {
  10.     try {
  11.       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  12.     } catch (E) {
  13.       xmlhttp = false;
  14.     }
  15.   }
  16.   if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  17.     xmlhttp = new XMLHttpRequest();
  18.   }
  19.   return xmlhttp;
  20. }
  21.  
  22. var request = getXmlHttp();
  23. request.open('GET', 'script.php?params=' + encodeURIComponent('myparam'), true);
  24. request.onreadystatechange = function() {
  25.   if (request.readyState == 4) {
  26.      if(request.status == 200) {
  27.  
  28.        var response = eval('(' + request.responseText + ')');
  29.  
  30.        alert(response.data);
  31.  
  32.       }
  33.   }
  34. };
  35. xmlhttp.send(null);
  36.  
  37.  


// Серверная сторона, получение данных, обработка, создание ответа (вывод, например, в json)

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $params = $_GET['params'];
  4.  
  5. //.... какие-либо действия с данными
  6.  
  7. echo '{ data: "Hello from PHP.SU" }';
  8.  
  9.  
  10.  
  11.  
Ammy Отправлено: 26 Августа, 2010 - 11:58:23 • Тема: опрос сервера на javascript • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 2795
JustUserR, слишком сложно, простите, для простой проверки наличия новых сообщений. Проще установить соединение (с тайм-аутом в 15-20 секунд) при помощи объекта XMLHttpRequest, отправляя запросы скрипту, который просто не будет отвечать, пока не пришло, например, новое сообщение (сработало событие).
Ammy Отправлено: 25 Августа, 2010 - 14:45:57 • Тема: Аналог праверки форм Директа • Форум: JavaScript & VBScript

Ответов: 8
Просмотров: 2694
Всё по порядку:



1. Создать форму, включая нужные input & textarea элементы: заголовок, текст сообщения, домен.
2. Напротив формы разместить div, в котором заголовок, текст сообщения, и домен будут изначально пустыми.
3. Получить элементы формы, используя, например, метод getElementsByName, и "повесить" на них (на полученные элементы) обработчики событий (событие: onkeyup). Событие onkeyup будет выполняться, если фокусировка (focus) установлена на поле (input'е) ввода, и пользователь (клиент) набирает текст. Каждый введённый им (пользователем) символ - выполнение onkeyup события.

Маленький пример того, о чём идёт речь:

CODE (html):
скопировать код в буфер обмена
  1.  
  2.  
  3. <input name="title"  type="text" size="15"  maxlength="25" /> // поле ввода заголовка
  4. <input name="text"  type="text" size="15"  maxlength="25" /> // поле ввода сообщения
  5. <input name="host"  type="text" size="15"  maxlength="25" /> // поле ввода домена
  6.  
  7. <div id="example"> // слой, который находится напротив формы
  8. </div>
  9.  
  10.  


CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. // Получение первого input'а и назначение одного возможного обработчика событий на этот элемент при помощи такого способа:
  4.  
  5. document.getElementsByName('title')[0].onkeyup = function (e) {
  6.  
  7. // Инструкции и выражения внутри этого блока выполняются в момент исполнения события.
  8.  
  9. // 1. Получаем значение этого элемента, введённое пользователем
  10. // 2. Получаем элемент для записи значения
  11.  
  12.     document.getElementById("example").innerHTML = this.value;
  13.  
  14. }
  15.  
  16. // с другими элементами так же
  17.  
  18.  
Ammy Отправлено: 24 Августа, 2010 - 23:25:21 • Тема: есть два инпута нужно сделать чтобы сумма показывалась после изменения второго инпута • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 2785
1. Скорее всего у автора включены волшебные кавычки. Экранирование предложила убрать для работы методов getElement(s)ById(Name) - попробуйте при их помощи получить "заэкранированный" элемент. У меня метод вернул undefined значение.

2. Предполагается, что этот код будет находится после элемента, поэтому не использовала window.onload & onDOMContentLoaded события для индикации полной загрузки документа.
Ammy Отправлено: 24 Августа, 2010 - 02:48:46 • Тема: опрос сервера на javascript • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 2795
Называется polling. Теорию смотреть здесь.
Ammy Отправлено: 24 Августа, 2010 - 02:37:10 • Тема: Как из PHP передать в JS или обратно • Форум: JavaScript & VBScript

Ответов: 19
Просмотров: 23169
Ещё лучше (Объект XMLHttpRequest)
Ammy Отправлено: 24 Августа, 2010 - 02:34:36 • Тема: есть два инпута нужно сделать чтобы сумма показывалась после изменения второго инпута • Форум: JavaScript & VBScript

Ответов: 6
Просмотров: 2785
1. Убрать экранирование.

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <td>
  3.     <input class="input_data" id="kol_vo" type="text" name="kol_vo[]">
  4. </td>
  5. <td>
  6.     <input class="input_data1" type="text" name="price[]">
  7. </td>
  8.  


CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. document.getElementsByName('price[]')[0].onchange = function(e) {
  4.  
  5.     if (this.value.length > 0) {
  6.  
  7.         var element = document.getElementById('target'); // получаем целевой элемент
  8.  
  9.         var summ = document.getElementById('input1').value +  // выполнение получения значений и их сложение
  10.                    document.getElementById('input2').value;
  11.  
  12.         element.innerHTML = summ;   // запись данных в целевой элемент
  13.  
  14.  
  15.     }
  16.  
  17. }
  18.  
  19.  
Ammy Отправлено: 23 Февраля, 2010 - 23:57:40 • Тема: Помогите доработать движок • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 880
ZeiZ пишет:
Как пример глобальный массив $_POST можно защищать так:

Так можно нанести вред целостности данных. Вы так все данные обрабатываете? А где же любимый strip_tags? И куда уж короче такой записи:



?

Достаточно одной htmlspecialchars(), чтобы решить все его проблемы с XSS, если данные из глобального массива будут выводиться на странице. Если нет, и данные будут записываться в базу данных (уверена в этом), применяется отличная mysql_real_escape_string();

Цитата:


ДАЛЕЕ

а так код будет не короче???
PHP:
скопировать код в буфер обмена
  1.  
  2.    
  3.       /* кол комнат*/
  4.    
  5.       if (!isset($_POST['k1']))
  6.       {
  7.    
  8.             $k1 = 0; // или $_POST['k1'] = 0;! Зачем вводить новую переменную???
  9.  
  10.       }
  11.  
  12.  



ДАЛЕЕ

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $k1 = (!isset($_POST['k1'])) ? 0 : $_POST['k1'];
  4.  
  5.  
Ammy Отправлено: 23 Февраля, 2010 - 23:37:44 • Тема: Помогите сделать install • Форум: Напишите за меня, пожалуйста

Ответов: 9
Просмотров: 2984
1. MYSQL INSERT INTO & CREATE
2. Работа с файлами на PHP (специальные разделы этого сайта)

Страниц (10): [1] 2 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB