PHP.SU

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

Страниц (7): « 1 2 [3] 4 5 6 7 »

> Найдено сообщений: 92
Albertino Отправлено: 07 Июля, 2011 - 16:52:01 • Тема: window.open() подменяет уже открытое окно другим • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 889
OrmaJever пишет:
2 параметр имя окна должно быть разное

так оно и есть разное 'chatWin'+id, где id для каждого юзера свое, те имя окна чата от юзера1 будет chatWin1, от юзера3 - chatWin3
(Добавление)
Так все вопрос снимается, это мой касяк был, ошибка была в другом месте.
Тему можно считать закрытой
Albertino Отправлено: 07 Июля, 2011 - 16:31:31 • Тема: window.open() подменяет уже открытое окно другим • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 889
Ситуация следующая:
есть сайт, на сайте есть такой сервис как чат, когда один юзер1 хочет початиться с юзером2, то первый посылает второму приглашение и у него всплывает блок в котором и сообщается что с ним хотят вступить в чат. При нажатии юзером2 кнопки "chat now" в этом приглашении собственно и открывается окно чата, используется ф-ция open(), где id это уникальное имя юзера1
CODE (javascript):
скопировать код в буфер обмена
  1. function winchatopen(id){
  2. open('/chat/'+id,'chatWin'+id,'top=15,left=20,menubar=0,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0,width=1114,height=600');
  3. }

но вот в чем проблема, если юзеру2 приходит приглашение в чат от юзера3 и юзер2 соглашается, нажав кнопку "chat now", то окно чата с юзером1 заменяется окном чата с юзером3(те окно чата с юзером1 пропадает и юзер2 не может с ним больше чатиться).
Почему так происходит и как это устранить?
з.ы. нужно чтоб каждый чат был в своем окне, это не моя прихоть, так требует начальство
Albertino Отправлено: 04 Июля, 2011 - 15:41:25 • Тема: Выборочный select из поля БД • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 31
Maskca пишет:
Здравствуйте, подскажите как сделать select из некого поля так чтобы в select попал текст, который начинается с "Фраза1" до "Фраза2", то есть не весь текст, а только той, что находится между этими двумя фразами?

можно так
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT val_1 FROM TABLE WHERE val_1 LIKE '%фраза1%фраза2%'

тем самым ты получишь нужную выборку, а потом разбить ее средствами php, например регулярным выражением
Albertino Отправлено: 04 Июля, 2011 - 14:30:24 • Тема: Копирование из одной таблицы в другую • Форум: SQL и Архитектура БД

Ответов: 10
Просмотров: 81
Мелкий пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE `table1` LEFT JOIN `table2` USING(`id`) SET `table1`.`lastname`=`table2`.`lastname`

спасибо
Albertino Отправлено: 04 Июля, 2011 - 14:03:43 • Тема: Копирование из одной таблицы в другую • Форум: SQL и Архитектура БД

Ответов: 10
Просмотров: 81
Саныч пишет:

возможно вариант и кривой, но должен работать...

Спасибо конечно, до этого я и сам догадался, но мне хотелось бы знать а вообще возможно это сделать чисто на sql.
Albertino Отправлено: 04 Июля, 2011 - 13:41:26 • Тема: Копирование из одной таблицы в другую • Форум: SQL и Архитектура БД

Ответов: 10
Просмотров: 81
Задача заключается в следующем:
есть две таблицы с полностью одинаковой структурой table1 и table2, нужно если table1.id = table2.id, скопировать table2.lastname в table1.lastname (те нужно заполнить колонку lastname таблици table1 соответствующими данными из таблицы table2).
Как это сделать(какой надо sql запрос)?
Albertino Отправлено: 23 Июня, 2011 - 11:18:21 • Тема: Проблема с передачей параметров сессии при открытии нового окна • Форум: HTTP и PHP

Ответов: 7
Просмотров: 2571
все проблему решил. Всем спасибо за отзывчивость.
Albertino Отправлено: 22 Июня, 2011 - 09:09:44 • Тема: Проблема с передачей параметров сессии при открытии нового окна • Форум: HTTP и PHP

Ответов: 7
Просмотров: 2571
Slavenin пишет:

куки или массив $_SESSION ?

массив $_SESSION
Albertino Отправлено: 21 Июня, 2011 - 14:20:01 • Тема: Проблема с передачей параметров сессии при открытии нового окна • Форум: HTTP и PHP

Ответов: 7
Просмотров: 2571
DeepVarvar пишет:
Opera???

Нет, firefox, а разве это зависит от браузера?
Albertino Отправлено: 21 Июня, 2011 - 13:13:55 • Тема: Проблема с передачей параметров сессии при открытии нового окна • Форум: HTTP и PHP

Ответов: 7
Просмотров: 2571
Имеется ссылка по нажатию на которую открывается новое окно (средством window.open(url, param);). В связи с этим столкнулся с проблемой: в новом окне недоступны переменные, которые передаются через сессию, хотя если просто в новом окне(не через open) перейти по нужному url(который прописывается в open()), то сессия доступна. В чем может быть проблема и как это исправить?
Albertino Отправлено: 21 Июня, 2011 - 11:25:25 • Тема: Ошибка при объявлении функции • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 855
EuGen пишет:
Сделайте передачу параметров в window.open однострочной, иначе это синтаксически неверно.
Подозреваю, интерпретатор останавливается на этом месте и потому дальнейшее не срабатывает.

Спасибо, помогло
Albertino Отправлено: 21 Июня, 2011 - 11:13:32 • Тема: Ошибка при объявлении функции • Форум: JavaScript & VBScript

Ответов: 2
Просмотров: 855
Помогите разобраться в чем ошибка:
есть js код, когда я добавляю фун-цию wchatopen(), то возникает ошибка chatShowNewElement is not defined (так пишет firebug), если закомментировать функцию wchatopen, то ошибки ни какой не возникает и работает все как надо. В чем может быть проблема?
Обявление функции chatShowNewElement строка 101
Ну и собственно сам код:
CODE (javascript):
скопировать код в буфер обмена
  1. $jj = jQuery.noConflict();
  2. // открытие окна чата
  3. function wchatopen(id){
  4.         window.open('http://behappy2day.com/chat/index.php?gID='+id,
  5.                                 'chatWin',
  6.                                 'top=15,
  7.                                 left=20,
  8.                                 menubar=0,
  9.                                 toolbar=0,
  10.                                 location=0,
  11.                                 directories=0,
  12.                                 status=0,
  13.                                 scrollbars=0,
  14.                                 resizable=0,
  15.                                 width=600,
  16.                                 height=600'
  17.                                  );
  18.         return;
  19. }
  20.  
  21. function getElementSizes(element)
  22. {
  23.         var width = element.offsetWidth;
  24.         var height = element.offsetHeight;
  25.         return {"width": width, "height": height};
  26. }
  27.  
  28. // удаление элемента DOM
  29. function removeElement(element)
  30. {
  31.         if(element)
  32.         {
  33.                 element.parentNode.removeChild(element);
  34.         }
  35. }
  36.  
  37. function getClientWidth()
  38. {
  39.         return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
  40. }
  41.  
  42. function getClientHeight()
  43. {
  44.         return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
  45. }
  46.  
  47. function chatCreateMainContainer()
  48. {
  49.         var mainContainer = document.getElementById("chat_main_container");
  50.  
  51.         if(mainContainer != null)
  52.         {
  53.                 // если контейнер уже существует, то просто возвращаем ссылку на него
  54.                 return mainContainer;
  55.         }
  56.         else
  57.         {
  58.                 // создаем элемент Div, который будет служить основным контейнером для всех остальных элементов
  59.                 var body = document.getElementsByTagName("body")[0];
  60.                 var newDiv = document.createElement("div");
  61.                 body.appendChild(newDiv);
  62.  
  63.                 newDiv.id = "chat_main_container";
  64.  
  65.                 // ширина основного контейнера
  66.                 var containerWidth = 230;
  67.                 newDiv.style.width = containerWidth+"px";
  68.                 newDiv.style.border = "1px solid #5AAED6"; //"1px solid #0000FF";
  69.                 newDiv.style.borderCollapse = "collapse";
  70.                 newDiv.style.zIndex = 10000;
  71.                 newDiv.style.display = "none";
  72.                 newDiv.style.backgroundColor = "#ffffff";
  73.  
  74.                 // позиционирование основного контейнера на видимой области браузера (правый нижний угол)
  75.                 newDiv.style.position = "fixed";
  76.                 newDiv.style.bottom = "10px";
  77.                 newDiv.style.right = "3px";
  78.  
  79.                 // определяем первоначальный блок для функций Minimize и Maximize
  80.                 newDiv.innerHTML = '<div style="height: 20px; background-color: #5AAED6; text-align: right; font-weight: bold; padding-right: 3px; color: #FFFFFF; cursor: pointer; display: none;" id="r_block" onclick="chatMiniMaxi();">Minimize</div>';
  81.  
  82.  
  83.                 // это общий суб-контейнер для блоков-элементов с приглашениями к чату
  84.                 newDiv.innerHTML += '<div id="visual_elements"></div>';
  85.  
  86.                 return newDiv;
  87.         }
  88. }
  89.  
  90.  
  91. function sendTest()
  92. {
  93.         requestProcess("/xml.php", "?v=23", chatShowNewElement, true);
  94. }
  95.  
  96.  
  97.  
  98. // счетчик отображаемых элементов (переменная с глобальной областью видимости)
  99. chatElementCounter = 0;
  100.  
  101. function chatShowNewElement()
  102. {
  103.         if(requestObject.readyState == 4)
  104.         {
  105.                 if(requestObject.status == 200)
  106.                 {
  107.                         // определяем вернул ли запрос данные для отображения
  108.                         var name = requestObject.responseXML.getElementsByTagName("name").item(0).firstChild.data;
  109.  
  110.                         // ID нужен для того, чтобы определить не был ли уже показан этот элемент
  111.                         var id = requestObject.responseXML.getElementsByTagName("id").item(0).firstChild.data;
  112.  
  113.                         var se = document.getElementById("e_"+id);
  114.  
  115.  
  116.                         // если количество уже отображаемых элементов не превышает 3, то добавляем новый элемент, если превышает, то ничего не делаем
  117.                         if(chatElementCounter < 3 && name != "empty" && se == null)
  118.                         {
  119.                                 var mainContainer = chatCreateMainContainer();
  120.  
  121.                                 // получаем данные из XML-документа (который получили от сервера)
  122.                                 var name = requestObject.responseXML.getElementsByTagName("name").item(0).firstChild.data;
  123.                                 var city = requestObject.responseXML.getElementsByTagName("city").item(0).firstChild.data;
  124.                                 var age = requestObject.responseXML.getElementsByTagName("age").item(0).firstChild.data;
  125.                                 var mess = requestObject.responseXML.getElementsByTagName("mess").item(0).firstChild.data;
  126.                                 var image = requestObject.responseXML.getElementsByTagName("image").item(0).firstChild.data;
  127.                                 var id = requestObject.responseXML.getElementsByTagName("id").item(0).firstChild.data;
  128.  
  129.                                 document.getElementById("chat_main_container").style.display = "block";
  130.                                 $jj("#r_block").fadeIn(700);
  131.  
  132.  
  133.                                 // создаем HTML-код нового элемента
  134.                                 var newElement = '<div style="display: none; margin: 6px;" id="e_'+id+'"><table border="0" cellspacing="0" cellpadding="0">';
  135.                                 newElement += '<tr>';
  136.  
  137.                                 newElement += '<td align="center" style="padding-right: 5px;"><img src="'+image+'"></td>';
  138.                                 newElement += '<td align="left" valign="top"><div style="height: 134px; font-size: 13px; font-family: Arial, san-serif; overflow: hidden;"><b>'+name+'</b> (ID: '+id+')<br />Age: '+age+'<br />'+city+'<div style="margin-top: 5px;">'+mess+'</div></td>';
  139.  
  140.                                 newElement += '</tr>';
  141.  
  142.                                 newElement += '<tr>';
  143.  
  144.                                 newElement += '<td align="center" style="padding-bottom: 5px;"><div style="border: 1px solid #D94A24; height: 5px; width: 90%;"><div id="c_'+id+'" style="background-color: #D94A24; overflow: hidden; height: 5px; margin-right: 0%;"> </div></div><a href="/" style="text-decoration: none; color: #5AAED6;" onclick="chatHideElement(\''+id+'\'); return false;">Close</a></td>';
  145.                                 newElement += '<td align="center" style="padding-bottom: 5px;"><button onclick="wchatopen(\''+id+'\')">Start Chat Now</button><fromt action="/" method="post"><input type="hidden" value="open" name="s_'+id+'" id="s_'+id+'" /></form></td>';
  146.  
  147.                                 newElement += '</tr>';
  148.  
  149.                                 newElement += '</table></div>';
  150.  
  151.                                 document.getElementById("visual_elements").innerHTML += newElement;
  152.  
  153.                                 // если в блоке больше одного элемента, то добавляем разграничивающую линию (верх)
  154.                                 if(chatElementCounter > 0)
  155.                                 {
  156.                                         var nEl = document.getElementById("e_"+id);
  157.                                         nEl.style.borderTop = "1px silver dotted";
  158.                                         nEl.style.paddingTop = "10px";
  159.                                 }
  160.  
  161.                                 $jj("#e_"+id).slideDown(600);
  162.  
  163.                                 // увеличиваем счетчик отображаемых элементов
  164.                                 chatElementCounter++;
  165.  
  166.                                 // запускаем таймер для закрытия блока (после того, как пройдет 1 минута)
  167.                                 evalCloseTimer(500, id);
  168.                         }
  169.  
  170.                 }
  171.                 else
  172.                 {
  173.                         alert("Error of remote server connect - code "+requestObject.status);
  174.                 }
  175.         }
  176. }
  177.  
  178. function chatMiniMaxi()
  179. {
  180.         var rBlock = document.getElementById("r_block");
  181.  
  182.         if(rBlock.innerHTML == "Minimize") rBlock.innerHTML = "Maximize";
  183.         else rBlock.innerHTML = "Minimize";
  184.  
  185.         $jj("#visual_elements").slideToggle(700);
  186. }
  187.  
  188. function chatHideElement(elementID)
  189. {
  190.         $jj("#e_"+elementID).slideUp(700);
  191.  
  192.         // определяем статус блока (закрыт или открыт)
  193.         var status = document.getElementById("s_"+elementID);
  194.  
  195.         if(status.value == "open")
  196.         {
  197.                 status.value = "closed";
  198.  
  199.                 // уменьшаем счетчик отображаемых элементов (если он уже не был закрыт каким-либо другим путем)
  200.                 chatElementCounter--;
  201.  
  202.                 setTimeout(function () {removeElement(document.getElementById("e_"+elementID));}, 700);
  203.         }
  204.  
  205.  
  206.         if(chatElementCounter < 1)
  207.         {
  208.                 $jj("#chat_main_container").fadeOut(700);
  209.         }
  210. }
  211.  
  212. function evalCloseTimer(timeout, elementID)
  213. {
  214.         try
  215.         {
  216.                 var intervalID = setInterval(function () {
  217.  
  218.                         var element = document.getElementById("c_"+elementID);
  219.                         var i = parseInt(element.style.marginRight, 10);
  220.  
  221.                         if(i < 100)
  222.                         {
  223.                                 i += 1.7;
  224.                                 element.style.marginRight = i+"%";
  225.                         }
  226.                         else
  227.                         {
  228.                                 clearInterval(intervalID);
  229.                                 chatHideElement(elementID);
  230.                                 return;
  231.                         }
  232.  
  233.                         }, timeout);
  234.         }
  235.         catch(e) {}
  236. }
  237.  
Albertino Отправлено: 15 Июня, 2011 - 11:15:20 • Тема: Как сделать обработку закрытия окна браузера? • Форум: JavaScript & VBScript

Ответов: 1
Просмотров: 2441
Необходимо сделать так, чтобы при нажатии на кнопку закрыть окно браузера(имею в виду стандартную кнопку закрыть-крестик в браузере) сначала спрашивало "Закрыть?", а потом если получен положительный ответ выполнялась необходимая функция и после этого закрывалось окно. Пробывал сделать так:
CODE (html):
скопировать код в буфер обмена
  1. <script>
  2.         function close(){
  3.                 if (confirm("Закрыть?")){
  4.                         alert("close");
  5.                 }
  6.                 else{
  7.                         alert("noclose");//
  8.                 }
  9.         }
  10. </script>
  11. <body onunload="close();"'>

но когда делаешь так, то окно сначала закрывается а потом спрашивает закрыть ли его и если ответить нет то уже получается поздно, тк окно закрыто.
Как можно на JS сделать, чтоб при закрытия окна сначала спрашивало закрыть ли окно, а потом только закрывало окно?
Albertino Отправлено: 12 Мая, 2011 - 08:35:41 • Тема: В чем различие запросов • Форум: SQL и Архитектура БД

Ответов: 1
Просмотров: 20
Имеется два sql запроса
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT count(*) FROM TABLE WHERE NOT (row1=1 AND row2=0)

и второй
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT count(*) FROM TABLE WHERE row1<>1 AND row2<>0

по идее они должны выдать результат одно и тоже число, но почемуто в первом случае результат получается больше чем во втором примерно в 2 раза. В чем разница между двумя этими запросами
Albertino Отправлено: 14 Апреля, 2011 - 14:36:48 • Тема: Кодировка письма (Help!) • Форум: Программирование на PHP

Ответов: 5
Просмотров: 445
интернет работа пишет:
Неужели никто не поможет?

Можно в $heder прописать следующие строки
CODE (htmlphp):
скопировать код в буфер обмена
  1. $header = "MIME-Version: 1.0\r\n";
  2. $header .= "Content-type: text/plain; charset=utf-8\r\n";
  3. $header .= "Subject: $subject\r\n";// прописать тему письма в heder
  4. $header .= "Content-type: text/plain; charset=utf-8\r\n";
  5. $header .= 'From: You <mail@domen.com>' . "\r\n" .
  6.                 'Reply-To: mail@domen.com' . "\r\n" .
  7.                 'X-Mailer: PHP/' . phpversion();

те надо прописать Content-type, затем Subject и снова Content-type.
ну а дальше как обычно
CODE (htmlphp):
скопировать код в буфер обмена
  1. mail ($to,$subject,$message, $header);

Была такая же проблема и мне помогло

Страниц (7): « 1 2 [3] 4 5 6 7 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB