PHP.SU

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

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

> Найдено сообщений: 19
spark108 Отправлено: 23 Августа, 2015 - 13:27:19 • Тема: Почтовый сервис и протокол HTTPS • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 832
Viper пишет:
spark108 а вы virtual host'ы настроили? + virtual host разные для http и https.

А вот тута по подробней.

И еще на счет МХ записей, в неё просто записывать домен и все?
(Добавление)
c МХ разобрался.
spark108 Отправлено: 23 Августа, 2015 - 12:22:26 • Тема: Почтовый сервис и протокол HTTPS • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 832
Viper пишет:
spark108 пишет:
но нет такого файла как .key Откуда его взять то
это самый первый шаг при создании сертификата. Без него вы не создали бы запрос на подпись(.csr). Ищите куда вы ваш приватный ключ засунули.


Дак я даже не знаю как он выглядит.
(Добавление)
Я кажись нашол ключ.
(Добавление)
Ну вот, подключил все файлы сертификата а сайт по протаколу HTTPS всеравно не доступен.
(Добавление)
И теперь если заходить по другим поддоменам то открывается сайт основного домена.
То есть https://site[dot]ru Открывает 1 сайт. А если переходить по адресу https://domain[dot]site[dot]ru должен открыть другой сайт, но открывает первый.
spark108 Отправлено: 23 Августа, 2015 - 12:05:00 • Тема: Почтовый сервис и протокол HTTPS • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 832
Viper пишет:
обычно там где продают SSL есть статьи как его установить на сервер.

Я нашол статью по установке сертификата, но там говорится о каком то ключе к сертификату. И пишет типо есть такой файл .key а у меня нету такого файла. сертификат Comodo PositiveSSL и там несколько файлов
AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureS erverCA.crt
domainname.crt
но нет такого файла как .key Откуда его взять то
spark108 Отправлено: 23 Августа, 2015 - 11:36:40 • Тема: Почтовый сервис и протокол HTTPS • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 832
PS. Я использую VDS сервер для своих целей.

Установил на VDS почтовый сервер, работает все отлично, но при отправке сообщения на почтовый адрес этого сервиса к примеру с почты гугла. Сообщение возращается назад и гугл ругается что типо такого сервера нету, но при отправке сообщения с этого почтового сервиса на почту гугл, сообщение успешно приходит, только поподает в папку спама.

Вопрос таков, как сделать так чтобы гугл находил этот сервер и отпровлял туда сообщения.

Следующее, приобрел SSL сертификат, и вопрос как сделать на своем сайте протакол HTTPS.
Он нужен собственно для веб сервера.
spark108 Отправлено: 20 Августа, 2015 - 14:13:53 • Тема: Помощь от Гуру в php • Форум: Хранение данных, их вывод и обработка

Ответов: 7
Просмотров: 1647
DelphinPRO пишет:
ну конечно. одинаковые переменные нехорошо.

Вспомнил это, но уже не помню где видел:

и тд..
spark108 Отправлено: 20 Августа, 2015 - 12:27:07 • Тема: Помощь от Гуру в php • Форум: Хранение данных, их вывод и обработка

Ответов: 7
Просмотров: 1647
Sail пишет:
Не всё.
Надо было 1-ю строчку того кода править, а не в цикле одинаковые переменные делать.
Дак и с одинаковыми переменными все нормально работает. Или типо надо сделать так:
PHP:
скопировать код в буфер обмена
  1. $styles = glob('*/page.php');
  2. echo '
  3.        <table border="1" width="100%">
  4.        <tr>
  5.                <th>Название стиля</th>
  6.                <th>Версия стился</th>
  7.                <th>Автор стиля</th>
  8.                <th>Описание</th>
  9.                <th>Действия</th>
  10.        </tr>';
  11.        
  12. foreach ($styles as $style) {
  13.         include $style;
  14.         echo '<tr>';
  15.         echo '<th>'.$name.'</th>';
  16.         echo '<th>'.$version.'</th>';
  17.         echo '<th>'.$author.'</th>';
  18.         echo '<th>'.$info.'</th>';
  19.         if ($name == setting(style)) {
  20.                 echo '<th>Установлен</th>';
  21.         } else {
  22.                 echo '<th><a href="?select='.$name.'">Применить</a></th>';
  23.         }
  24.         echo '</tr>';
  25. }
  26. echo '</table>';
spark108 Отправлено: 20 Августа, 2015 - 06:29:58 • Тема: Помощь от Гуру в php • Форум: Хранение данных, их вывод и обработка

Ответов: 7
Просмотров: 1647
Воу, спасибо. Я просто в php учусь еще и стараюсь использовать все что знаю. Но я заметил что некоторые скрипты получаются очень большие в частности этот. Вот и обратился к гуру.
(Добавление)
Я у вас в этом месте слегка подправил код:
у вас из за того что переменной $styles воообще не существует, то при выполнение выдовалась ошибка. Сделал так: и все нормально.
spark108 Отправлено: 19 Августа, 2015 - 12:35:54 • Тема: Помощь от Гуру в php • Форум: Хранение данных, их вывод и обработка

Ответов: 7
Просмотров: 1647
Ну что не кто не хочет помочь?
spark108 Отправлено: 19 Августа, 2015 - 05:29:11 • Тема: Помощь от Гуру в php • Форум: Хранение данных, их вывод и обработка

Ответов: 7
Просмотров: 1647
Есть такой скрипт:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include '../../mp-include/function.php';
  3.  
  4. $style = glob('*/page.php');
  5. $i = 0;
  6. $a = count($style);
  7. $c1 = ''; $c2 = ''; $c3 = ''; $c4 = '';
  8. while($a != 0) {
  9.         if ($i != $a) {
  10.                 include $style[$i];
  11.                 $d = $a - 1;
  12.                 if ($d == $i) {$c1 .= $name; $c2 .= $version; $c3 .= $author; $c4 .= $info;} else {$c1 .= $name.'-'; $c2 .= $version.'-'; $c3 .= $author.'-'; $c4 .= $info.'-';};
  13.                 $i++;
  14.         } else break;
  15. };
  16.  
  17. $i = 0;
  18. if ($a != 0) {
  19.         echo '<table border="1" width="100%">';
  20.         echo '<tr>';
  21.         echo '<th>Название стиля</th>';
  22.         echo '<th>Версия стился</th>';
  23.         echo '<th>Автор стиля</th>';
  24.         echo '<th>Описание</th>';
  25.         echo '<th>Действия</th>';
  26.         echo '</tr>';
  27.         $a = count($style);
  28.         while ($a != 0) {
  29.                 if ($i < $a) {
  30.                 echo '<tr>';
  31.                 $nn = explode('-', $c1);
  32.             echo '<th>'.$nn[$i].'</th>';
  33.                 $n = explode('-', $c2);
  34.             echo '<th>'.$n[$i].'</th>';
  35.                 $n = explode('-', $c3);
  36.             echo '<th>'.$n[$i].'</th>';
  37.                 $n = explode('-', $c4);
  38.             echo '<th>'.$n[$i].'</th>';
  39.                 if ($nn[$i] == setting(style)) {echo '<th>Установлен</th>';} else {echo '<th><a href="?select='.$nn[$i].'">Применить</a></th>';};
  40.         echo '</tr>';
  41.                 $i++;
  42.             } else break;
  43.         };
  44.         echo '</table>';
  45. };

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

Цель скрипта: В определенной папке к примеру папка style лежать 1,2,3 и более папок (Естественно эти папки, это шаблоны для сайта). В каждой папке есть фай page.php в котором хранятся данные о шаблоне. В моем скрипте функция glob('*/page.php'); выводит пути в переменную. Далее идет импорт всех файлов page.php с уникальным масив номером.
PHP:
скопировать код в буфер обмена
  1. $i = 0;
  2. $a = count($style);
  3. $c1 = ''; $c2 = ''; $c3 = ''; $c4 = '';
  4. while($a != 0) {
  5.         if ($i != $a) {
  6.                 include $style[$i];
  7.                 $d = $a - 1;
  8.                 if ($d == $i) {$c1 .= $name; $c2 .= $version; $c3 .= $author; $c4 .= $info;} else {$c1 .= $name.'-'; $c2 .= $version.'-'; $c3 .= $author.'-'; $c4 .= $info.'-';};
  9.                 $i++;
  10.         } else break;
  11. };


Далее идет вывод всех page.php в таблицу:
PHP:
скопировать код в буфер обмена
  1. $i = 0;
  2. if ($a != 0) {
  3.         echo '<table border="1" width="100%">';
  4.         echo '<tr>';
  5.         echo '<th>Название стиля</th>';
  6.         echo '<th>Версия стился</th>';
  7.         echo '<th>Автор стиля</th>';
  8.         echo '<th>Описание</th>';
  9.         echo '<th>Действия</th>';
  10.         echo '</tr>';
  11.         $a = count($style);
  12.         while ($a != 0) {
  13.                 if ($i < $a) {
  14.                 echo '<tr>';
  15.                 $nn = explode('-', $c1);
  16.             echo '<th>'.$nn[$i].'</th>';
  17.                 $n = explode('-', $c2);
  18.             echo '<th>'.$n[$i].'</th>';
  19.                 $n = explode('-', $c3);
  20.             echo '<th>'.$n[$i].'</th>';
  21.                 $n = explode('-', $c4);
  22.             echo '<th>'.$n[$i].'</th>';
  23.                 if ($nn[$i] == setting(style)) {echo '<th>Установлен</th>';} else {echo '<th><a href="?select='.$nn[$i].'">Применить</a></th>';};
  24.         echo '</tr>';
  25.                 $i++;
  26.             } else break;
  27.         };
  28.         echo '</table>';
  29. };
.

В полученой таблице 1 столбик это имя шаблона, второй это версия, 3 это автор, 4 это описание.

Файл page.php выглядит так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $name = 'default';
  4. $version = '1.0';
  5. $author = 'MegaPress';
  6. $info = 'Дефольный шаблон MegaPress';


В этом месте:
PHP:
скопировать код в буфер обмена
  1. if ($nn[$i] == setting(style)) {echo '<th>Установлен</th>';} else {echo '<th><a href="?select='.$nn[$i].'">Применить</a></th>';};

Идет проверка на установлен ли шаблон или нет. В БД содержится таблица с настройками в которой содержится строка с именем style и значением default, Функцией setting() я получаю это значение и после сравниваю его с названием шаблона. Если название и значение совпали, то вывожу слово "Установлен" если же нет, то вывожу ссылку на замену шаблона.

Прошу помочь с оптимезацией.
(Добавление)
ОЙ, помоему не в тот раздел брасол, да ладно.
(Добавление)
P.S как бы еще сделать чтобы шаблон этой страницы был отделен, то есть таблица постраивалась не в это файле.
(Добавление)
Оптемезировал до вот такого вида:
PHP:
скопировать код в буфер обмена
  1. include '../../mp-include/function.php';
  2.  
  3. $style = glob('*/page.php');
  4. $i = 0;
  5. $a = count($style);
  6. $c1 = ''; $c2 = ''; $c3 = ''; $c4 = '';
  7. echo '<table border="1" width="100%"><tr><th>Название стиля</th><th>Версия стился</th><th>Автор стиля</th><th>Описание</th><th>Действия</th></tr>';
  8. while($a != 0) {
  9.         if ($i != $a) {
  10.                 include $style[$i];
  11.                 $d = $a - 1;
  12.                 if ($d == $i) {$c1 .= $name; $c2 .= $version; $c3 .= $author; $c4 .= $info;} else {$c1 .= $name.'-'; $c2 .= $version.'-'; $c3 .= $author.'-'; $c4 .= $info.'-';};
  13.                 if ($i < $a) {
  14.                 echo '<tr>';
  15.                 $nn = explode('-', $c1);
  16.             echo '<th>'.$nn[$i].'</th>';
  17.                 $n = explode('-', $c2);
  18.             echo '<th>'.$n[$i].'</th>';
  19.                 $n = explode('-', $c3);
  20.             echo '<th>'.$n[$i].'</th>';
  21.                 $n = explode('-', $c4);
  22.             echo '<th>'.$n[$i].'</th>';
  23.                 if ($nn[$i] == setting(style)) {echo '<th>Установлен</th>';} else {echo '<th><a href="?select='.$nn[$i].'">Применить</a></th>';};
  24.         echo '</tr>';
  25. };
  26.                 $i++;
  27.         } else break;
  28. };
  29. echo '</table>';
spark108 Отправлено: 13 Августа, 2015 - 01:26:44 • Тема: Как сделать вывод текста по отдельности из ячейки mysql • Форум: Программирование на PHP

Ответов: 12
Просмотров: 1312
Viper пишет:
spark108 $i=0; перед while нужно.

Это уже стоит в первом случие если ссылка на тег в виде числа.

И я уже сказал что число к тегу не привязана, а я хочу чтобы было привязано.
Так как мне еще эти новости выводить на отдельную страницу где они будут разделены по категориям в зависимости от тега. А если тег не привязан к своей ссылке или числу, то он будет просто переменным.
(Добавление)
Я с этой проблемой сделал слегка подругому.
Сами теги в базе данных указал как число и при вытаскивание этих чисел из бД, с помощью оператора if присваивал им слова например:
1 это Новости.
2 это Конкурсы.
И он исходя из этого заменял все числа в полученых данных словом, и собвенно URL стал привязаным. и получилось это так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. function tagnews($row){
  4.                 //массив ключевых слов
  5.         $arr_tags = explode(' ',$row);
  6.         //обработка
  7.         $tags='';
  8.         foreach ($arr_tags as $tag){
  9.                         $i = '';
  10.                         if ($tag == '1') { $i .= 'Новости';};
  11.                         if ($tag == '2') { $i .= 'Конкурсы';};
  12.             $tags .= '[<a href=index.php?tag='.$i.'>'.$i.'</a>]';
  13.         };
  14.                 return $tags;
  15. };
  16.  
  17. include 'inc/config.php';
  18. if (isset($_GET['news'])) {
  19.     $limit = (int)$_GET['news'];
  20. } else {
  21.     $limit = '3';
  22. }
  23. $request = "SELECT news, user, title, tag, date_format(data,'%e.%m.%Y') as data1 FROM news ORDER BY id DESC LIMIT $limit";
  24. $result = mysql_query($request);
  25.  
  26. if (!mysql_error()) {
  27. // Цикл, вынимающий строку как массив с числовым индексом
  28.     while ($row = mysql_fetch_row($result)) {
  29.  
  30.         print '<div id="colLeft">';
  31.         print '<div class="postItem">';
  32.         print '<h2>'.$row[2].'</h2>';
  33.         print '<p>'.$row[0].'</p>';
  34.         print '</div>';
  35.         print '<div class="meta meta-comments">';
  36.         print 'Дата публикации: '.$row[4].' | Опубликовал: '.$row[1].' | Метки: '.tagnews($row[3]). '</div>';
  37.         print '</div>';
  38.  
  39.  
  40.     }
  41. }
  42.  


Как видно я создал функцию чтобы не путатся xD, может её стоит убрать и из неё все поместить в цикл.

В explode(' ',$row); - в качестве разделяющего знака поставил пробел, незнаю чем это может быть черевато, но при записе с помощью скрипта добовленя новости, мне точно будт проще с пробелом.
(Добавление)
Вопрос решен!
spark108 Отправлено: 12 Августа, 2015 - 19:14:15 • Тема: Как сделать вывод текста по отдельности из ячейки mysql • Форум: Программирование на PHP

Ответов: 12
Просмотров: 1312
Все работает.
Только вот вопрос таков. А если теги поменять местами, то и их ссылки сменятся тоже к примеру так:

Если первый стоит тег "Новости" то ему присваивается число 0, а следующему тегу число больше предыдущего на 1. При этом получается что тег не привязан к определенному числу.
Если число то ссылка выглядит так: /index.php?tag=0

А если убрать $i и $i++ а в месте URL установить переменную с списком тегов, то правельная ссылка выводится токо на первый тег "/index.php?tag=Тег (Например: Новости)", а на следующие теги выводит уже так "/index.php?tag=" (то есть в гет запросе пусто). Что с этим тогда делать?
spark108 Отправлено: 12 Августа, 2015 - 17:51:59 • Тема: Как сделать вывод текста по отдельности из ячейки mysql • Форум: Программирование на PHP

Ответов: 12
Просмотров: 1312
andrewkard пишет:
Код не проверял:


Все нормально, но теги выводятся в конце страницы и у них 1 общая ссылка.

Хотя должно быть так: Запятая между ними без ссылки, а на каждое слово своя ссылка. И после тегов стоят знаки ";', а между ними неболольшие нижние черточки с разными ссылками.
(Добавление)
Код слегка изменил и получилось вот так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include 'config.php';
  3. if (isset($_GET['news'])) {
  4.     $limit = (int)$_GET['news'];
  5. } else {
  6.     $limit = '3';
  7. }
  8. $request = "SELECT news, user, title, tag, date_format(data,'%e.%m.%Y') as data1 FROM news ORDER BY id DESC LIMIT $limit";
  9. $result = mysql_query($request);
  10. $arr_tags = array();
  11. if (!mysql_error()) {
  12. // Цикл, вынимающий строку как массив с числовым индексом
  13.  
  14.     while ($row = mysql_fetch_row($result)) {
  15.                         $arr_tags[]=$row[3];
  16.                 $i=0;
  17. foreach ($arr_tags as $tag){
  18.     $tag = '<a href=index.php?tag='.$i.'> '.$tag.' </a>,';
  19.     $i++;
  20. }
  21.         print '<div id="colLeft">';
  22.         print '<div class="postItem">';
  23.         print '<h2>'.$row[2].'</h2>';
  24.         print '<p>'.$row[0].'</p>';
  25.         print '</div>';
  26.         print '<div class="meta meta-comments">';
  27.         print 'Дата публикации: '.$row[4].' | Опубликовал: '.$row[1].' | Метки: '.$tag.'</div>';
  28.         print '</div>';
  29.  
  30.     }
  31. }

Но он все ровно выводит не так. Вопрос остается тем же.
Как выводить слова из Mysql раздельно?
Или вообще как реалезовать вывод меток для новости?
spark108 Отправлено: 12 Августа, 2015 - 17:16:16 • Тема: Как сделать вывод текста по отдельности из ячейки mysql • Форум: Программирование на PHP

Ответов: 12
Просмотров: 1312
Viper пишет:
spark108 пишет:
выводит большие вопросы.
кодировки? Файл в какой кодировке сохранили?
UTF-8 без BOM
spark108 Отправлено: 12 Августа, 2015 - 16:09:33 • Тема: Как сделать вывод текста по отдельности из ячейки mysql • Форум: Программирование на PHP

Ответов: 12
Просмотров: 1312
Нечего не работает.
(Добавление)
spark108 пишет:
Нечего не работает.
Что arr[], что array(); после выполнения foreach ($arr as $row){
echo $row;
} выводит большие вопросы.
spark108 Отправлено: 12 Августа, 2015 - 10:23:22 • Тема: Как сделать вывод текста по отдельности из ячейки mysql • Форум: Программирование на PHP

Ответов: 12
Просмотров: 1312
DeepVarvar пишет:
http://forum.php.su/topic.php?forum=33&topic=793

Причом тут это? у меня с кодом все нормално и редиректы не использую и причом тут магазин.

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB