Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопросы по Web-программированию
GAMEINATOR forums > Soft, Hard и периферия > Hard & Soft
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
cjayho
Цитата(SaneX @ 02.12.2013, 10:42) *
Вопрос появился.
Есть код:
Код
$full_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$explode = explode('://', $full_url);
if (preg_match('#//+#', $explode[1]) > 0)
{
     $new_url = preg_replace('#//+#', '/', $explode[1]);
     $new_url = preg_replace("#/$#", "", $new_url);
     $new_url = 'http://'.$new_url;
     exit("<meta http-equiv='refresh' content='0; url=".$new_url."'>");
}

Мы получаем полную ссылку на текущую страницу, удаляем из неё http:// и в оставшейся строке заменяем все символы '/' больше одного на один '/'.

Всё работает прекрасно.

Но почему, если заменить
Код
exit("<meta http-equiv='refresh' content='0; url=".$new_url."'>");

на
Цитата
header('Location:'.$new_url);

, то при выполнении условия страница уходит в циклическую переадресацию?



Я бы для портабельности еще бы определение протокола добавил

Код
$full_url = ( $_SERVER[ 'HTTPS' ] ? 'https' : 'http' ) . '://' . $_SERVER[ 'HTTP_HOST' ] . $_SERVER[ 'REQUEST_URI' ];


а вообще посмотрите телнетом что сервер выдает при использовании хэдера. Может пустое значение, которое воспринимается броузером как текущая страница?
SaneX
Я тут в Yii сегодня ковыряться начал. Есть знатоки Yii?
Вопрос такой:

В UrlManager'е у меня следующее:

Код
'urlManager'=>array(
    'urlFormat'=>'path',
    'rules'=>array(
        ''=>'site/index',
        '<action:.*>/*'=>'site/<action>',
    ),
    'showScriptName'=>false
)


Т.е. ссылка вида
Цитата
sitename.ru/site/catalog?id=100&name=sanex


преобразуется в
Цитата
sitename.ru/catalog/id/100/name/sanex


Что я хочу:
я хочу, что бы ссылка была вот такой:
Цитата
sitename.ru/catalog/100/sanex


Причем я не хочу через urlmanager прописывать имена GET-параметров и мне не важно, сколько GET-параметров будет в ссылке и в каком они порядке будут.

Сейчас я нашел только один способ для фиксированного кол-ва параметров, и прописывая их имена:
Цитата
'<action:.*>/<id:\d+>/<name:\w+>'=>'site/<action>',


Возможно такое реализовать?
Kostya V
Может кто помочь в создании сайта?
Egorich___
Цитата(Kostya V @ 03.07.2014, 18:47) *
Может кто помочь в создании сайта?

Опиши подробнее, что нужно?
jamakasi
Цитата(Kostya V @ 03.07.2014, 18:47) *
Может кто помочь в создании сайта?

Сильно рекомендую не изобретать велосипеды а сразу использовать любую нормальную цмску, в 90% случаев хватит вордпреса если нужно что то совсем необычное или магазин то надо смотреть в сторону джумлы и подобных монстров.
Kostya V
Цитата(Egorich___ @ 03.07.2014, 23:51) *
Цитата(Kostya V @ 03.07.2014, 18:47) *
Может кто помочь в создании сайта?

Опиши подробнее, что нужно?

Нужен сайт, где бы я смог рекламировать свою деятельность.
Сам я не умею делать сайты, поэтому обращаюсь за помощью.
NEXOR
Выручайте. Я не силен в javascript, но мне нужно реализовать одну небольшую фичу.

Есть кнопка спойлер "Принять участие" при нажатии на которую появляется
форма комментирования. В другой части страницы, есть изображение.
Код
<div id="girl">
<img src="/women.png" border="0" alt="" />
</div>


Мне нужно, чтоб при нажатии на кнопку "Принять участие" это изображение изменилось на другое и при этом работал спойлер.

Вот код самой кнопки со спойлером:

Код
<div class="uSpoilerClosed" id="uSpoileraWRsRt"><div class="uSpoilerButBl"><input class="uSpoilerButton" onclick="if($('#uSpoileraWRsRt')[0]){if ($('.uSpoilerText',$('#uSpoileraWRsRt'))[0].style.display=='none'){$('.uSpoilerText',$('#uSpoileraWRsRt'))[0].style.display='';$('.uSpoilerButton',$('#uSpoileraWRsRt')).val('Оставьте комментарий');$('#uSpoileraWRsRt').attr('class','uSpoilerOpened');}else {$('.uSpoilerText',$('#uSpoileraWRsRt'))[0].style.display='none';$('.uSpoilerButton',$('#uSpoileraWRsRt')).val('Принять участие');$('#uSpoileraWRsRt').attr('class','uSpoilerClosed');}}" value="Принять участие" type="button"></div><div class="uSpoilerText" style="display: none;"><!--ust--><br><?if($COM_CAN_ADD$)?>
$COM_ADD_FORM$
<?else?>
<?if($USER_LOGGED_IN$)?><?else?><div align="center" class="commReg"><!--<s5237>-->Добавлять комментарии могут только зарегистрированные пользователи.<!--</s>--><br />[ <a href="$REGISTER_LINK$"><!--<s3089>-->Регистрация<!--</s>--></a> | <a href="$LOGIN_LINK$"><!--<s3087>-->Вход<!--</s>--></a> ]</div><?endif?>
<?endif?><!--/ust--><!--usn(=Title)--></div></div><br>
StUnDeR
NEXOR, размести, пожалуйста, свой код на http://jsfiddle.net, а то с телефона не удобно и форматирование убивает
NEXOR
Цитата(StUnDeR @ 16.07.2014, 12:49) *
NEXOR, размести, пожалуйста, свой код на http://jsfiddle.net, а то с телефона не удобно и форматирование убивает


http://jsfiddle.net/6YGH4/

UPD: Уже не нужно smile.gif
SaneX
Ктонибудь с Symfony2 работал? Есть вопрос.
SaneX
Цитата(SaneX @ 07.10.2014, 21:29) *
Ктонибудь с Symfony2 работал? Есть вопрос.

UP! Есть срочный вопрос.
SaneX
Появился вопрос.
В классе я хочу создать новое свойство-массив с именем, равным значению другой переменной, и к этому новому свойству в цикле добавить некоторые элементы.

В моем примере, в $value[0] хранится тип инпута: "input", "password", "email" и т.д.

Т.е. свойству можно будет обращаться $this->input, $this->password и т.п.
Соответственно, поскольку это все дело в цикле, я хочу так-же добавить в это свойство (которое является массивом) элементы со значениями $value[1] - имена инпутов, у которых одинаковый тип.
И вот с этим проблема.

Я пишу так:
Код
$this->$value[0][] = $key;

Но оператор "[]" для добавления нового эл-та в массив не работает при использовании переменной в кач-ве имени другой переменной. Через array_push тоже не работает почему-то.

$this->$value[0] = $key; - на каждом проходе цикла перезаписывает значение $key. Так и должно быть.
$this->$value[0] = array($key); - тоже, что логично.

В общем как такую тему решить? Интересно очень.

Пример:
Код
foreach ($data as $key => $values) {
    $value = explode('|', $values);
        //Ключевая строка, создаем свойство с именем, равным значению $value[0]
    $this->$value[0] = $key;
}


На выходе хочу получить в $this->$value[0] aka $this->input массив со значениями $key
SaneX
Кароч навелосипедел такое, что бы работало, но чувствую, что можно все сделать в той одной строчке.

Забавно, но
Код
is_array($this->$value[0])
не проходит. Вылазит ошибка.

Код
foreach ($data as $key => $values) {
    $value = explode('|', $values);
    if ($this->varVarHelper != $value[0])
    {
        $this->varVarHelper = $value[0];
        $temp = array($key);
    } else {
        $temp[] = $key;
    }
    $this->$value[0] = $temp;
    $this->formData[$key] = $value[1];
}
Astalker375
Подскажите, как можно определить движок сайта если пока нет исходников на руках? Может про исходники я бред сказал, извиняйте, я в этом пока не бум-бум, но надо))
StUnDeR
Цитата(Astalker375 @ 27.10.2014, 23:03) *
Подскажите, как можно определить движок сайта если пока нет исходников на руках? Может про исходники я бред сказал, извиняйте, я в этом пока не бум-бум, но надо))

"На глаз" или покопавшись в разметке. Иногда по структуре урлов можно узнать.
tom-m15
Завершилась работа над финальной версией веб-стандарта HTML5



Организация World Wide Web Consortium (W3C) завершила работу над финальной версией стандарта разметки веб-страниц HTML5. Об этом говорится в сообщении консорциума.

HTML5 (от английского HyperText Markup Language) - стандарт гипертекстовой разметки веб-страниц, призванный упростить вывод контента в браузеры пользователей. Работа над HTML5 ведется с марта 2007 года. Он уже поддерживается большинством современных десктопных и мобильных браузеров.

Среди его особенностей — возможность обработки видео- и аудиоконтента на веб-странице без дополнительных расширений (необходимые кодеки уже включены в браузер), элемент Canvas для отображения двумерной графики средствами языка, функции для интероперабельности сайтов и другие. Для мобильных разработчиков стандарт предоставляет выбор между созданием приложений под конкретную платформу либо разработкой HTML5-приложений для мобильных браузеров.

«Сегодня мы не задумываемся о просмотре видео и прослушивании аудио напрямую в браузере, или о том, как браузер работает на телефоне. Мы хотим обмениваться фотографиями, делать покупки, читать новости и искать информацию везде на любом устройстве. Оставаясь невидимыми для обычных пользователей, открытый стандарт HTML5 и платформа Open Web обеспечивают воплощение их желаний», — отметил создатель Всемирной паутины и директор W3C Тим Бернерс-Ли.

Итоговый документ с рекомендациями веб-консорциума по HTML5 занимает свыше 1,3 тысячи страниц. В то же время, W3C уже приступили к разработке стандарта HTML 5.1, где могут появиться элементы управления интеллектуальной собственностью и который может быть выпущен уже в следующем году.

Напомним, что глава Apple Стив Джобс еще в 2010 году назвал открытый стандарт HTML5 более подходящим для эры мобильного интернета, чем технология Adobe Flash. Спустя полтора года Adobe и сама объявила, что прекращает разработку версий Flash Player для мобильных платформ, по сути признав правоту Джобса.
Источник
Astalker375
Нужна помощь. Поломал по неопытности главную страницу сайта и теперь пишет "Template not exists!" на белом фоне т.е. не задан шаблон

Есть система управления сайтом

Там где template.html-это шаблон. Если написать template.html-шаблон страниц, main.html- шаблон главной. Если в графе URL страницы написать main.html, то тогда создаётся страница вида com/main.html Если ничего, то новая страница с очередной циферкой после com. Если пробел то главная.com в том виде как сейчас. Что нужно прописать в URL чтобы задать шаблон для главной?
Исходников пока нет на руках.

Сайт создавали в Россайте. Может кто знаком с их системой управления сайтом?
Avel
Astalker375, index.html ?
Astalker375
Цитата(Avel @ 09.11.2014, 23:19) *
Astalker375, index.html ?

тогда создаётся com/index.html. Надо у создателей узнавать и исходники ждать.
SaneX
Если надо кому, могу выложить php скриптик, который я набросал (доработал вот этот http://stackoverflow.com/questions/8778864...-in-a-web-page).

Изначально скрипт делал из квадратных картинок гексагоны, размерами с оригинал картинки:
картинка


Я поправил, добавил поддержку любых размеров, сделал ресемплинг, убрал отступы, сделал центрирование по ширине и высоте, в зависимости от ширины или высоты картинки, всё это дело оформил в виде класса.

На выходе вот такие картинки получаются
SaneX
Появился новый вопрос.

Я в yii2 делаю выборку из БД. В WHERE передаются поля и их значения. И поля и значения берутся из $_GET, после обрабатываются и подсовываются в WHERE.
Если название поля в GET неверное, то будет совершенно логичная ошибка:
Код
SQLSTATE[42S22]: Column not found: 1054 Unknown column '[b]coor[/b]' in 'where clause'
The SQL being executed was: SELECT * FROM `catalog` WHERE (`[b]coor[/b]`='red') AND (`[b]color[/b]`='green')


Вопрос:
Как в YII2 перехватить такую ошибку через throw new exception?

Выборку делаю так:
Код
$data = $catalog->find()
        ->where($where)
        ->all();


Может так - взять массив с правильными названиями полей, и если название поля из GET не совпадает ни с одним названием из массива - удалять это название из выборки?

UPD: так и сделал
Код
$attributes = $catalog->attributes();
        foreach ($where as $key => $value)
        {
            if(!array_search($key, $attributes))
            {
                unset($where[$key]);
            }
        }


Опять - сам спросил, сам ответил megalol.gif megalol.gif megalol.gif megalol.gif megalol.gif megalol.gif
SaneX
Млин, 3 часа пытался понять, почему я после того, как вытащу объект из сессии, изменю его свойство, то оно же изменится и у объекта в сессии.

А потом, спустя 3 часа, вспомнил, блин, про clone. Ну хоть сам вспомнил и то хорошо mad.gif
SaneX
Скажите, выборка 50 записей из 300 тысяч за 55 мс - быстро или медленно?
SaneX
Вопрос по ООП:

У меня есть класс, в нем 5 методов.
Один метод должен быть реализован двумя способами.

Я сделал этот класс и этот метод абстрактным, и реализовал его в 2-х дочерних классах, наследуемых от основного. В дочерних классах реализован только один этот метод, остальные идут из родительского класса.

Вопрос - имеет смысл делать основной класс и метод абстрактными, или лучше просто метод убрать из основного класса и определить его сразу в дочерних классах? Или особой разницы нет?
SaneX
Поясните по DNS, пожалуйста. Я вот подняд на компе локальный сервер. Там есть возможность задать DNS, что я и сделал. Теперь сайт транслируется в интернет.
Вопрос: если на сайт зайдут, скажем, 100 человек, то будут кушаться ресурсы моего ПК или DNS-сервиса, который я использую? Логика подсказывает, что 1-е.
Avel
SaneX, только ПК. DNS же, считай, только адрес отдаёт и все. Причем ответы DNS где только не кешируются, поэтому на твой нагрузка будет минимальной.
SaneX
UPD: разобрался, $.extend(true, rangeF, rangeT);
До этого пробовал $.extend, но без true.

Помогите, пожалуйста, с JS, чето у меня мозги уже едут.

есть объект:
Object {id: 15, test: 215}

есть другой объект:
Object {id: 100, test: 1000}

Как получить объект вида:
Код
Object {id: Object, test: Object}
     id: Object
          from: 15
          to: 100

     test: Object
          from: 215
          to: 1000


Пробовал вот так, но тогда перетирается и у 'id', и у 'test' - 'from' и остается только 'to'
Код
for (id in fromId) {
    range[id] = {from: fromId[id]};
}

for (id in toId) {
    range[id] = {to: toId[id]};
}
SaneX
Насколько же классный Yii2, подключение модуля 1-й строчкой - збс.

Если кто Yii2 пользуется, может кому пригодится мой модуль с чекбоксами(на самом деле это ссылки)-фильтрами
https://github.com/sanex3339/Yii2-Simple-Filter

RedMagic
Отпишусь здесь, как в наиболее подходящей теме.

Гуру WPF тут есть? Не могу разобраться как задать цвет в Color/SolidColorBrush из настроек приложения.
RayTwitty
Почему до сих пор в css\html не сделали свойство vertical-align? Точнее оно есть, но работает только внутри таблиц z_crazy.gif

Уже реально бесит использовать разные костыли, чтобы банально отцентрировать элемент по вертикали.
FOX
Цитата(Shadows @ 08.06.2015, 00:46) *
но работает только внутри таблиц

Не только. Но точно не так, как многим (в том числе и мне) хотелось. biggrin.gif

тыц
RayTwitty
Вопрос по поводу работы с базой данных MySQL. Сервер XAMPP, локальный. В гугле вопрос достаточно заезженный, но у меня почему-то не получается решить, сколько не плясал с бубном.

В общем проблема с кодировкой при помещении данных в таблицу. Для начала данные:

Всем полям таблицы назначена кодировка utf8_general_ci. Сама таблица создавалась с таким же значением кодировки. В файле my.ini, в секции mysql дописал default_character_set=utf8 (и тут же еще вопрос - а не default-character-set=utf8 надо? через тире...).

В главном окне phpMyAdmin (РМА) стоит Сопоставление кодировки соединения со значением utf8mb4_general_ci (простой utf8_general_ci почему-то не выбирается).

В итоге, в консоли такие результаты:
Результаты
Код
+--------------------------+--------------------------------+
| Variable_name            | Value                          |
+--------------------------+--------------------------------+
| character_set_client     | utf8                           |
| character_set_connection | utf8                           |
| character_set_database   | utf8                           |
| character_set_filesystem | binary                         |
| character_set_results    | utf8                           |
| character_set_server     | utf8                           |
| character_set_system     | utf8                           |
| character_sets_dir       | C:\xampp\mysql\share\charsets\ |
+--------------------------+--------------------------------+


Собственно теперь в чем проблема - при добавлении записи в таблицу (из php скрипта) не добавляется ничего вообще (ни кириллица, ни латиница). Т.е. получаются пустые поля.
Если добавлять\изменять поля непосредственно в РМА, то они корректно потом отображаются на странице. Т.е. проблема именно с занесением данных в БД из скрипта.

php код
Код
$link = mysql_connect("localhost", "root", "secret");
if (!$link)
    die("Ошибка соединения: ".mysql_error());
    
mysql_query("SET NAMES utf8");

$db_selected = mysql_select_db("testdb");
if (!$db_selected)
    die("Не удалось выбрать таблицу: ".mysql_error());

$result = mysql_query("INSERT INTO products(name, description) VALUES('тестовое имя3', 'тестовое описание3')");
if (!$result)
    die("Неверный запрос: ".mysql_error());


Ах да, для страницы вверху указано:
Код
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


В общем уже не знаю, что ковырять и как править, идеи закончились biggrin.gif
=S.E.R.G.=
Так не пробовал?
CODE
INSERT INTO products SET name = 'тестовое имя3', description = 'тестовое описание3';

Так то разницы не должно быть, но вдруг.
RayTwitty
Цитата(=S.E.R.G.= @ 10.06.2015, 01:34) *
Так не пробовал?

Дело не в этом.

Вроде бы пофиксил.
Все стало нормально добавляться и отображаться, после того как файл страницы преобразовал в "UTF-8 без BOM" (Кодировки -> Преобразовать в UTF-8 без BOM).
RayTwitty
Поставил локальный сервер (XAMPP) на другую машину и уже более вдумчиво "настроил кириллицу".

После чистой установки XAMPP идем в mysql\bin\my.ini, находим блок "UTF 8 Settings" и разблокируем "character_set_server=utf8". После этого, при работе с базами данных (чтение\запись) не будет проблем с отображением.

По сути больше ничего настраивать не надо, но надо проконтролировать, чтобы все текстовые поля в базе имели (и сама база при создании) сравнение - utf8_general_ci.

Возможно потребуется сделать то, о чем я писал в предыдущем посте - преобразовать (например, при помощи notepad++) все php-скрипты в "UTF-8 без BOM" и прописать <meta charset="utf-8"> в заголовки (но это всё по мере надобности, может и так завестись).
Cossack-HD
Понадобилось запилить проект - поиск по базе данных посредством ключевых слов и параметров (price range) с последующим выводом результатов через веб страницу.

Думается мне, программить придётся на php.
Базу данных по идее можно сделать самопальную (txt laugh.gif ).
Какие инструменты понадобятся? Есть ли примеры такой работы? Где искать инфу?
RayTwitty
Cossack-HD, в инете дофига инфы по этому поводу. Ставь какой-нибудь денвер и работай с ним.
autistic
Цитата(RayTwitty @ 10.06.2015, 01:20) *
проблема именно с занесением данных в БД из скрипта.

в таких случаях неплохо сперва через консольную утилиту запрос опробовать, если все норм, значит не в базе проблема.
FOX
Cossack-HD, сборку сервера (apache/nginx+php+sql+phpmyadmin+т.д.) под проекты можешь посмотреть тут http://habrahabr.ru/post/144242/
Есть вещи намного удобнее денвера. Winginx отлично подходит для разных проектов на локалхосте.

Вот например, контрольные делал по БД. Внутри сайт с примерами SQL запросов, которые можно выполнить прямиком на странице через AJAX и посмотреть результат:

https://yadi.sk/d/ZG4RwLNxjWTqa

Естественно, сначала базу данных надо создать с параметрами:
$host = 'localhost';
$user = 'labs_user';
$password = 'labs';
$db = 'labs';
mb_internal_encoding("UTF-8");
Neo][
Cossack-HD, а что тебе ближе из ЯП? Можно на asp.net(C#) вообще в сотню строк кода такое замутить smile.gif
RedMagic
Цитата(Neo][ @ 05.10.2015, 10:26) *

Можно на asp.net(C#) вообще в сотню строк кода

Можно еще scaffolding использовать, вообще почти ничего из кода писать не надо smile.gif
PS: Правда он у меня почему-то не работает sad.gif
Neo][
Цитата(STALKER2011x @ 05.10.2015, 14:09) *
PS: Правда он у меня почему-то не работает

STALKER2011x, речь про vnext? В смысле в mvc5 работает, а из командной строки?
Gamer
А у меня другая проблема.
Сделал сайт на html там 5 страниц, css, jquery. всё, больше ничего не использовал. Залил на хостинг всё нормально работало и тут началось. При открытии браузером брауз пишет, что вредоносное ПО на сайте, я сделал запрос в техслужбу хоста те проверили 2 раза и прислали ответ, что всё в поряде. Я открыл исходники, перелопатил всё, инородных кодов нет, ничего подозрительного нет, отправил запрос на перепроверку в консоли гугл, те проверили и вроде сайт заработал, прошло пару дней и опять брауз пишет Вредоносное ПО, я опять всё проверил, всё впоряде!
Как меня достала эта ситуация! Пипец! Что делать?
RedMagic
Цитата(Neo][ @ 05.10.2015, 12:47) *

Цитата(STALKER2011x @ 05.10.2015, 14:09) *
PS: Правда он у меня почему-то не работает

STALKER2011x, речь про vnext? В смысле в mvc5 работает, а из командной строки?

При попытке реализовать Scaffolding, при переходе на другие страницы сервер говорит что такой страницы нету. Думаю что проблема в FriendlyURLs, оно должно преобразовывать адреса вида sitename/Page.aspx в sitename/page/ , но на практике этого не происходит. Хотя если вручную вбить полное имя страницы - она грузится.
PS: Как всегда у Microsoft "из коробки" ничего не работает без танцев с бубном.

---

Gamer, а в другом браузере как? Если проблема только с хромом - то видимо гуглу твой хостинг или еще что-то не нравится.
Neo][
STALKER2011x, за "старый" asp ничего не скажу, начал знакомиться с технологией недавно и поэтому сразу начал с vnext. И в новой версии всё довольно хорошо, в основном конечно благодаря открытости и возможности общаться с разрабами. Столкнулся с парой не работающих вещей, создал задачу в трекере, так за пару дней всё поправили )
Опять же хорошо, что нет жёсткой привязки к студии, т.к. косяков в ней хватает )
Cossack-HD
Нужна гибкая CMS на php/MySQL с поддержкой тэгов.
Будет использоваться для постинга текста с поддержкой медиа элементов.
Что можете посоветовать кроме wordpress?
Cossack-HD
Кто нибудь поможет быстренько состряпать простой код на javascript?

Функционал:
1. Получить url страницы, тут всё понятно - var url_string = window.location.href
2. Сравнить url с стрингом, тут тоже всё понятно - if url_string == "xxx"
{
3. Выпилить элемент "yyy", если сравнение дало true.
}

Желательно выводить url_string в конец страницы для дебага.
Cossack-HD
Разобрался с javascript, теперь нужно похожее на php

if(!empty($plugins) and $_SERVER['REQUEST_URI']!='index.php?controller=post&action=view&id_post=5')

Второе условие не срабатывает, пробовал двойные кавычки. Что не так?
RedMagic
Cossack-HD, значение $_SERVER['REQUEST_URI'] смотрел? Оно точно такое какое должно быть?
RayTwitty
Цитата(Cossack-HD @ 22.02.2016, 18:33) *
$_SERVER['REQUEST_URI']

Вывод в лог в помощь.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.