PHP.SU

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

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

> Найдено сообщений: 44
petr Отправлено: 21 Апреля, 2013 - 12:06:33 • Тема: Плагин для красивого выбора из списка эл-в и добавление своих значений • Форум: JavaScript & VBScript

Ответов: 0
Просмотров: 524
Всем здравствуйте.
Подскажите кто-нибудь, сталкивался с таким плагином?
1. Я могу выбрать элемент из выпадающего списка
http://hostingkartinok[dot]com/show-[dot][dot][dot]3edb6c16fd902bca

2. Он после нажатия закрепляется подобным образом
http://hostingkartinok[dot]com/show-[dot][dot][dot]d076a756d8ab9c82

3.Так же я могу в поле написать свой вариант, которого нет в списке
http://hostingkartinok[dot]com/show-[dot][dot][dot]5ec4e7460c226a92

4.Он так же закрепится.
http://hostingkartinok[dot]com/show-[dot][dot][dot]223027bc1c20ec4d

5.Все названия элементов попадают в значение скрытого поля

http://hostingkartinok[dot]com/show-[dot][dot][dot]85c200f90500a2d1

Заранее большое спасибо за помощь
(Добавление)
Я нашел замечательный плагин jQuery Chosen, но он позволяет добавлять эл-то ТОЛЬКО из списка.
petr Отправлено: 20 Апреля, 2013 - 15:13:35 • Тема: Действия с загруженными данными ajax • Форум: JavaScript & VBScript

Ответов: 1
Просмотров: 562
Здравствуйте.
На странице подгружаются данные с помощью ajax в виде списка
CODE (html):
скопировать код в буфер обмена
  1. <ul>
  2. <li>item1</li>
  3. <li>item 2</li>
  4. ...
  5. </ul>

После этого я хочу с ними работать, т.е. чтоб при клике на эл-т списка происходили какие-то действия.
Пока что не получается вывести даже обычный alert при клике на элемент
CODE (javascript):
скопировать код в буфер обмена
  1. <script type="text/javascript">
  2.           $(document).ready(function(){
  3.              
  4.           $('li').on('click',function(){
  5.               alert('hi');
  6.           });
  7.          
  8.           $("#search").keyup(function(){
  9.              var search = $("#search").val();
  10.              $.ajax({
  11.                type: "POST",
  12.                url: "http://framework/dir/all_news",
  13.                data: {"search": search},
  14.                cache: false,                                
  15.                success: function(response){
  16.                   $("#resSearch").html(response);
  17.                }
  18.              });
  19.              return false;
  20.            });
  21.            
  22.         });
  23.         </script>

Если вместо on ставлю live, то даже данные аяксом не подгружаются.
В frontend новичек
Помогите плз.
Заранее спасибо.
petr Отправлено: 12 Апреля, 2013 - 15:20:29 • Тема: Помогите с выборкой • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 29
-peoples
id
email
password
-ganre_books
id
ganre
-hobbies
id
name
-hobbies_peoples
people_id
hobbie_id
-ganre_books_peoples
people_id
ganre_books_id
petr Отправлено: 12 Апреля, 2013 - 14:31:09 • Тема: Помогите с выборкой • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 29
Здравствуйте.
Есть таблички в БД:
1. С людьми(peoples)
2. С увлечениями(hobbies)
3. С жанрами книг(ganre_books)
4. Связующая между peoples и hobbies(многие-ко-многим)
5. Связующая между peoples и ganre_books(многие-ко-многим)

Какой необходимо сделать sql-запрос
Чтоб можно было вывести потом чрез php список такого вида:
-Имя человека1
-Увлечение1 -Жанр 2
-Увлечение23 -Жанр 5
-Имя человека2
-Увлечение11 -Жанр 2
-Увлечение3 -Жанр 4
и т.д.

Т.е. имя человека и его увлечения и любимые жанры книг?
Реально одним запросом этого добится?
petr Отправлено: 07 Апреля, 2013 - 14:21:12 • Тема: Отправка письма MVC • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 2139
Ну ест mjghtltktyyst правила, что html только в виде. Работа с данными только в модели. А вот насчет отправки email как то непонятно.
petr Отправлено: 07 Апреля, 2013 - 14:09:05 • Тема: Отправка письма MVC • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 2139
caballero пишет:
какое отношение отправка писем имеет к MVC?

Где она должна происходить?
В контроллере или модели?
petr Отправлено: 07 Апреля, 2013 - 13:55:01 • Тема: Отправка письма MVC • Форум: Объектно-ориентированное программирование

Ответов: 7
Просмотров: 2139
Всем здравствуйте.
Подскажите. Такая ситуация:
При регистрации юзера, данные email и пароль попадают в контроллер.
Далее контроллер отдает их модели, модель их обрабатывает и добавляет юзера.
Далее необходимо отправить письмо с кодом активации.
Отправка письма в парадигме MVC где должна происходить?
Если в модели то очень удобно получается, сразу все данные под рукой, вызываю класс для работы с почтой и отправляю.
А в контроллере даже не предстовляю как сделать, наверное дополнительный метод надо писать, не очень красиво получается.
Заранее спасибо.
petr Отправлено: 01 Апреля, 2013 - 13:18:35 • Тема: Объединить несколько css файлов • Форум: Вопросы новичков

Ответов: 4
Просмотров: 290
Руками не вариант.
По 4000 строк кода в каждом стиле.
petr Отправлено: 01 Апреля, 2013 - 12:18:48 • Тема: Объединить несколько css файлов • Форум: Вопросы новичков

Ответов: 4
Просмотров: 290
Добрый день.
Есть 4 файла css с пересекающимися стилями.
В каждом файле есть свои селекторы и есть повторяющиеся, которые присутствуют и в других файлах.
Вот такой бардак.
Необходимо все это объединить в один css-файл.
Может кто подскажет сталкивались с софтом для таких задач?

Заранее спасибо.
petr Отправлено: 27 Февраля, 2013 - 12:45:00 • Тема: Правильная работа с mail • Форум: Вопросы новичков

Ответов: 4
Просмотров: 140
Т.е. даже в крупных фреймворках, имеющие классы для работы с почтой этого не избежать?
petr Отправлено: 27 Февраля, 2013 - 11:37:37 • Тема: Правильная работа с mail • Форум: Вопросы новичков

Ответов: 4
Просмотров: 140
Добрый день.
Хотелось бы узнать, как сделать почтовую рассылку чтоб она не попадала в спам.
Вообще есть какие то методы? или это никак не контролируется, зависит от внутренних механизмов почтового сервера?
Ничего нелегального нет, просто рассылка информация зарег-м пользователям, отправки письма с активацией.
И если несколько человек поставит письмо в спам, как это в целом повлияет на рассылку?
Делаю все как в этой статье, по сути тоже самое, только обернуто еще в функцию

http://www.php.su/functions/?mail

Интересуют, только механизмы php, а не сторонние сервисы.

Спасибо
petr Отправлено: 21 Февраля, 2013 - 00:37:53 • Тема: Рассылка писем, не получается с html • Форум: Вопросы новичков

Ответов: 0
Просмотров: 72
Здравствуйте.
Есть скрипты для отправки почты клиентам.
Почта отправляется с их согласия.

Письма обычным текстом отправляются отлично, но с html не отправляются.
Если допустим вставляю картинку img приходит только текст, в исходном коде сообщения пустой тег <img> без единого атрибута.

Подскажите в чем проблема?
Спасибо.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. define('MSG_COMPLETE', 1);
  3. define('MSG_LIST', '1;Рассылка звершена;');
  4.  
  5. define('MAIL_CONTENT_TEXT', 1);
  6. define('MAIL_CONTENT_HTML', 2);
  7. define('MAIL_CONTENT_LIST', '1;TEXT;2;HTML;');
  8. define('MAIL_KIND_MANUAL', 1);  //адреса вводятся вручную
  9. define('MAIL_KIND_TXT', 2); //список адресов из файла
  10. define('MAIL_KIND_LIST', '1;вводятся вручную;2;из файла emails.txt;');
  11.  
  12. define('MAIL_PASSWORD', 'password'); //пароль
  13.  
  14. define('MAIL_LOG', 1); // 1 - лог включен, иначе выключен
  15. define('MAIL_FILE_LOG', 'mails_log.txt'); //файл, в который помещаются адреса куда письма были успешно отправлены
  16. define('MAIL_FILE_LIST', 'emails.txt'); //файл, со списком адресов
  17.  
  18. define('WAIT_TIME', 0.2);  //интервал между рассылками писем, зависит от почтового сервера
  19.  
  20. //define('MAIL_SENDER', '1;mail1@yandex.ru;2;mail2@yandex.ru;');
  21. define('MAIL_SENDER', '1;test@yandex.ru;');
  22. define('MAIL_SENDER_NAME', '1;Name1;');
  23.  
  24.  
  25. //формируем тело списка, где $tpl шаблон пар <код;значение>, $code - выбранный коды, через delim
  26. function GetListItems($code, $delim, $tpl){
  27.         $buf='';
  28.   $aItems = explode($delim, $tpl);
  29.         $aCodes = explode($delim, $code);
  30.         $size = floor(count($aItems)/2);
  31.         for($i=0;$i<$size;$i++){
  32.                 $tmp=(in_array($aItems[$i*2],$aCodes))?" selected":"";
  33.                 $buf.="<option value=\"".$aItems[$i*2]."\"".$tmp.">".$aItems[$i*2 + 1]."</option>";
  34.         }
  35.         return $buf;
  36. }
  37.  
  38. //получаем элемент списка с заданным кодов (см. выше)
  39. function GetListValue($code, $delim, $tpl){
  40.   $aItems = explode($delim, $tpl);
  41.         if ((($i=array_search($code,$aItems))!==false)&&($i<count($aItems)-1)){
  42.                 return $aItems[$i+1];
  43.         }
  44.         return '';
  45. }
  46.  
  47.  
  48. class TMails{
  49. var $buf;
  50. var $Password;
  51. var $From;
  52. var $Content;
  53. var $MailKind;
  54. var $EMailList;
  55. var $Title;
  56. var $MailText;
  57.  
  58.         function TMails(){
  59.                 $this->buf = '';
  60.         }
  61.  
  62.         //выводим сообщение
  63.         function ShowMsg($msg){
  64.                 $this->buf .= '<div align=center><h4>'.$msg.'</h4></div>';
  65.         }
  66.  
  67.         function ShowHeader(){
  68.                 $this->buf = <<< HEAD
  69. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  70. <HTML>
  71. <HEAD>
  72. <title>Рассылка писем</title>
  73. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
  74. <META NAME="Copy Right" CONTENT="Сайт">
  75. <META NAME="AUTHOR" CONTENT="content">
  76. </HEAD>
  77. <BODY>
  78. HEAD;
  79.         }
  80.  
  81.         function ShowFooter(){
  82.                 $this->buf .= '</BODY></HTML>';
  83.         }
  84.  
  85.         function ShowMainForm(){
  86.                 $FromList = GetListItems($this->From, ';', MAIL_SENDER);
  87.                 $ContentList = GetListItems($this->Content, ';', MAIL_CONTENT_LIST);
  88.                 $KindList = GetListItems($this->MailKind, ';', MAIL_KIND_LIST);
  89.  
  90.     $this->buf .= <<< MAIL_PREVIEW
  91. <form action="{$_SERVER['PHP_SELF']}" method=POST>
  92. <table cellspacing="1" cellpadding="0">
  93. <tr><td width=150>Пароль:</td><td><input type="password" name="Password"></td></tr>
  94. <tr><td width=150>От:</td><td><select size=1 name="From">{$FromList}</select></td></tr>
  95. <tr><td width=150>Тип письма:</td><td><select size=1 name="Content">{$ContentList}</select></td></tr>
  96. <tr><td width=150>Источник адресов:</td><td><select size=1 name="MailKind">{$KindList}</select></td></tr>
  97. <tr><td width=150>Список получателей (для ручного ввода - на строке один адрес):</td><td><textarea cols=40 rows=10 name="EMailList">{$this->EMailList}</textarea></td></tr>
  98. <tr><td>Заголовок:</td><td><input type=text name="Title" size=100 value="{$this->Title}"></td></tr>
  99. <tr><td>Текст письма:</td><td><textarea cols=80 rows=20 name="MailText">{$this->MailText}</textarea></td>
  100. </tr>
  101. <tr><td></td><td><input name="Submit" type=submit value="Отправить"></td></tr>
  102. </table>
  103. </form>
  104. MAIL_PREVIEW;
  105.         }
  106.  
  107.         function SendTxt(){
  108.                 if ($this->Password != MAIL_PASSWORD){
  109.                         $this->buf .= 'Введен неверный пароль';
  110.                         return false;
  111.                 }
  112.                 if ((trim($this->Title) == '') || (trim($this->MailText) == '')){
  113.                         $this->buf .= 'Не задан заголовок или тело письма';
  114.                         return false;
  115.                 }
  116.        
  117.                 //заголовки
  118.                 $from = GetListValue($this->From, ';', MAIL_SENDER_NAME).' <'.GetListValue($this->From, ';', MAIL_SENDER).'>';
  119.                 $headers = '';
  120.                 if ($this->Content == MAIL_CONTENT_TEXT){
  121.                         $headers = "Content-Type: text/plain; charset=windows-1251\r\n";
  122.                 } else {
  123.                         $headers = "MIME-Version: 1.0\r\n"."Content-Type: text/html; charset=windows-1251\r\n";
  124.                 }
  125.                 $headers .= "From: ".$from."\r\n"."Reply-To: ".$from."\r\n"."X-Mailer: PHP\r\n";
  126.                 //текст
  127.                 if ($this->Content == MAIL_CONTENT_HTML){
  128.                         $this->MailText = '<html><head><title>'.htmlspecialchars($this->Title).'</title></head><body>'.
  129.                                 $this->MailText.'</body></html>';
  130.                 }
  131.                 $send_count = $error_count = 0;
  132.                 $f_mail = ($this->MailKind == MAIL_KIND_TXT) ? file(MAIL_FILE_LIST) : explode("\r\n", $this->EMailList);
  133.                 $lines = count($f_mail);
  134.                 for($i = 0; $i < $lines; $i++){
  135.                         $email = trim($f_mail[$i]);
  136.                         if ($email != ''){
  137.                                 $this->buf .= $email.'<br>';
  138.                                 if (!@mail($email, $this->Title, $this->MailText, $headers)){
  139.                                         $this->buf .= ' - ошибка<br>';
  140.                                         $error_count++;
  141.                                 } else {
  142.                                         $send_count++;
  143.                                         if ((MAIL_LOG == 1) && ($f_stat = @fopen(MAIL_FILE_LOG, 'a+'))){
  144.                                                 @fwrite($f_stat, $email."\n");
  145.                                                 @fclose($f_stat);                      
  146.                                         }              
  147.                                 }
  148.                         }
  149.                         //задержка перед отправкой
  150.       usleep(WAIT_TIME * 1000000);
  151.                 }
  152.                 $this->buf .= 'Отправлено: '.$send_count.'<br>Всего ошибок: '.$error_count.'<br>';
  153.                 return true;
  154.         }
  155.  
  156.         function ProcessEvents(){
  157.                 $is_send = isset($_POST['Submit']);
  158.                 $this->Password = isset($_POST['Password']) ? $_POST['Password'] : '';
  159.                 $this->From = isset($_POST['From']) ? $_POST['From'] : '';
  160.                 $this->Content = isset($_POST['Content']) ? $_POST['Content'] : '';
  161.                 $this->MailKind = isset($_POST['MailKind']) ? $_POST['MailKind'] : '';
  162.                 $this->EMailList = isset($_POST['EMailList']) ? $_POST['EMailList'] : '';
  163.                 $this->Title = isset($_POST['Title']) ? $_POST['Title'] : '';
  164.                 $this->MailText = isset($_POST['MailText']) ? $_POST['MailText'] : '';
  165.  
  166.                 $this->ShowHeader();
  167.                 if ($is_send){
  168.                         switch ($this->MailKind){
  169.                                 case MAIL_KIND_MANUAL: 
  170.                                 case MAIL_KIND_TXT:    
  171.                                         if (!$this->SendTxt()) $this->ShowMainForm();
  172.                                         break;
  173.                         }
  174.                 } else {
  175.                         $this->ShowMainForm();
  176.                 }
  177.                 $this->ShowFooter();
  178.                 return $this->buf;
  179.         }
  180. }
  181.  
  182. $m = new TMails();
  183. echo $m->ProcessEvents();
  184.  
  185. ?>
petr Отправлено: 12 Февраля, 2013 - 12:14:38 • Тема: Архитектура приложения MVC • Форум: Вопросы новичков

Ответов: 4
Просмотров: 269
Здравствуйте.
Пишу приложение на php, используя ооп и mvc.
Правильно ли использовать следеющую архитектуру?
Если не правильно, то что и как сделать лучше?
Расскажу на примере вывода меню.

Модель:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  require_once '../config/db.php';
  3.  
  4.  class Mmenu extends Db{
  5.      public function return_menu(){
  6.          $sql="SELECT id, menu_name FROM pages";
  7.          $res=$this->sql($sql);
  8.          return $res;
  9.      }
  10.  }


Контроллер:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require_once '../models/mmenu.php';
  3.  
  4. class Cmenu extends Mmenu{
  5.     public function print_menu(){
  6.         $res=$this->return_menu();
  7.         while($row=mysql_fetch_assoc($res)){
  8.             $mname[$row['id']]=$row['menu_name'];
  9.         }
  10.         return $mname;
  11.     }
  12. }
  13. $aux_vmenu=new Cmenu();
  14. $vmenu=$aux_vmenu->print_menu();
  15.  

Вид:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require_once '../controllers/cmenu.php';
  3.  
  4. echo "<ul>";
  5. foreach($vmenu as $uri=>$link){
  6.     echo "<li><a href='?id=".$uri."'>".$link."</a></li>";
  7. }
  8. echo "</ul>";


Спасибо
petr Отправлено: 10 Февраля, 2013 - 22:26:46 • Тема: Как сохранить целостность в бд • Форум: Вопросы новичков

Ответов: 2
Просмотров: 94
Всем здравствуйте.
Такая ситуация, есть таблица с категориями, есть таблица со статьями, у которых внешний ключ категория стать.

Есть пользовательский интерфейс, где можно добавлять/удалять/изменять категории.
И интерфейс с добавлением статьи, где можно выбрать категорию.

Но допустим такая ситуация, если пользователь захочет удалить категорию, к которой привязаны существующие статьи.

Как сохранить целостность и реализовать это?

Заранее спасибо
petr Отправлено: 22 Декабря, 2012 - 09:48:22 • Тема: Красивый выпадающий список • Форум: Вопросы новичков

Ответов: 4
Просмотров: 183
еще

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB