Jump to content

Veseloff

Moderator
  • Posts

    3,457
  • Joined

  • Last visited

  • Days Won

    40

Everything posted by Veseloff

  1. да, так и правда рабоатет. Вот только куда девать-то эти пробелы — ума не приложу. Порыться что ли в исходниках...
  2. Поставил. Я пробовал-то давно — видимо, конфликт версий был или ещё чего... Но всё равно не понравилось. Я ожидал, что работать будет плагин таким образом, чтобы, например, вводишь «mq», нажимаешь Tab и он заменяет это дело тебе «mysqli_query("");». Но он заменяет что-то на что-то только когда в этой строке больше ничего нет. Это плохо. Ну вот, например, надо мне сделать «$q=mysqli_query();» и как тут квиктекст поможет? Я ожидал, что можно будет сделать «$q=mq», потом нажать Tab и «mq» заменится. Но этого не происходит. Может, конечно, я делаю что-то не так...
  3. Я вот тоже ноутпадом++ пользуюсь. Обидно, что нормально не встал quicktext — то ли версии не совместимы, то ли под вайном не работает. А жаль, это, пожалуй, единственное, что меня расстраивает — макросами приходится пользоваться, но это не до конца удобно.
  4. Ну «под ключ» у нас, например, значит: 1. Создание собственно сайта, то есть программирование, дизайн, вёрстка 2. Наполнение контентом: написание текстов, рисование всяких схем и прочих интерактивных карт, фотографирование и вставка фоток в контент ну и всё остальное, что может понадобиться на сайте. 3. Раскрутка: регистрация в каталогах, установка всяких метрик и прочих аналитиксов, покупка ссылок 4. Рекламная кампания в яндексе или в гугле, ну или где там надо Короче, «под ключ» означает, что от заказчика требуется только заплатить денег, высказать пожелания, одобрить всё, что сделали и получать заказы со своего хорошего сайта. Это всё стоит денег, поэтому заказывают такие вещи далеко не все — многие предпочитают обходиться без наполнения, раскрутки и рекламы, наивно полагая, что могут осуществить это cвоими силами. По своему опыту могу сказать с уверенностьб на 100%, что 100$ — это максимум хорошая вёрстка одного шаблона, не более, не говоря уже о сайте «под ключ». Даже в 10 раз дороже это слишком мало. Реально работающие сайты начинаются примерно от 2000$, никак не меньше.
  5. Сайт «Газпрома» — сложный и нагруженный? Да ну, не смеши мои подковы. Вот «Порнолаб» — сложный и нагруженный. А «Газпром» — нет.
  6. Ну во-первых, CMS — это система управления сайтом, а фреймоворк — это фреймворк. То есть сайт — это, например, интернет-магазин. CMS — система управления содержимым сайта: каталогом, новостями, всякими страницами и всем таким прочим. А вот использовался для разработки сайта фреймворк или нет — это уже совершенно другой вопрос. Так что тут путается тёплое с мягким. Насчёт уважающих себя студий, тут тоже промах — не все пользуются фреймворками. Ну, во первых, есть хайлоады, для которых фреймворки губительны. У нас, например, нет никакого фреймворка — у нас есть некое подобие «движка», на который накручивается всё, что душе угодно и сайт получается быстро и легко (я не имею ввиду нестандартные решения, особенно связанные с высокими нагрузками, тут для каждого проекта отдельный подход, хотя и на основе всё того же «движка»). Теперь про парсер. Я его смотрел, пытался вникнуть в суть, но не понял ни одного преимущества перед тем же PHP. Если взглянуть на сообщество веб-разработчиков, то парсером пользуется достаточно маленький процент, а, значит, есть на то объективные причины. Поскольку господин Лебедев его вроде как рекламирует, то, по причине того, что он имеет много поклонников, парсер нельзя отнести к категории продуктов «шикарный, самый лучший, но никому не известный, поэтому и не пользуются» — известный, кто-то даже пользуются, но я, например, сделал свой выбор и не буду пользоваться парсером. Ну по крайней мере до тех пор, пока он не составит реальной конкуренции (в плане эффективности и функциональности) PHP, Ruby, C, Perl, Python и другим годным серверным ЯП, которые используются для создания сайтов. Каждый волен выбирать сам, но я предпочитаю старый, добрый PHP.
  7. Да, как-нибудь так, только я бы сделал, наверное, SELECT * FROM `tablename` WHERE `id`<8 ORDER BY `id` DESC LIMIT 1 UNION SELECT * FROM `tablename` WHERE `id`>=8 ORDER BY `id` ASC LIMIT 2
  8. 1. По-хорошему, это должно быть равносильно if ($_text===true). Что означает в данном случае зависит от кривизны рук программиста и контекста. 2. Ну то же самое, только if ($_POST['text']===false). Боюсь, что тут просто идёт проверка на заполненность. Отсутствие строгой типизации — абсолютное зло.
  9. Подробнее озвучьте задачу — может, тогда станет понятнее? А то сейчас вообще не понятно что вам надо.
  10. Картинка просто отвратительного качества, но вроде бы можно разобрать «Access denied for user `root`@`localhost` (using password: NO)». О чём это говорит? А говорит это о том, что, в первую очередь, надо было прочитать и осмыслить текст ошибки, а не писать в форум. А во вторую очередь это говорит о том, что вы пытаетесь залогиниться под рутом с пустым паролем и вас не пускают. Видимо, у рута есть какой-то пароль.
  11. Продолжаем обсуждение вот в этой теме.
  12. В этом топике я приведу примеры и разъяснения по правильному использованию «!», «isset» и «empty» в PHP. Так уж сложилось, что PHP — язык с отсутствием строгой типизации, в результате чего можно использовать функции и операторы не совсем по назначению и они всё равно будут давать какой-то результат. Разберём что из себя представляют такие вещи как «!», «isset» и «empty». 1. Про «!». Знаку «!» можно дать вольный перевод на русский язык как «не». То есть «!правда» будет «неправда», то есть «ложь», а «!ложь» будет «не ложь», то есть «правда». Данный оператор можно применять только к существующим переменным. Приведу несколько примеров: var_dump(!true); var_dump(!false); Выведут нам Всё логично. «!true» значит «неправда», то есть «false». Ну и «!false» значит «не ложь», то есть правда. Следующий пример: $var=true; var_dump($var); var_dump(!$var); результат будет таким: Ну, в общем, тоже всё понятно. Выставляем значение переменной «var» в «true». Ну и, соответственно, «не var» будет «false». Как выяснилось, при помощи «!» некоторые люди проверяют существование переменной и вообще Бог знает что. Это неправильно, так делать нельзя, хотя, раз уж PHP такой PHP, то резутьтат от операции «!» над несуществующей переменной тоже будет, но мы увидим ноутис (если они включены, а при разработке их надо включать обязательно). Итак такой код: var_dump($var); var_dump(!$var); выдаст нам примерно такой результат: Как видим, результат всё же есть и применением «!» к переменной, в принципе можно проверить её существование, но если переменная будет существовать и иметь значение «false», то результат будет тот же. Ну и, плюс ко всему, имеем ненужные ноутисы. И еще вот такой код $var=array(); var_dump(!$var); тоже выдаст «true», то есть, в принципе, можно проверить массив на заполненность. И еще «true» будет в последнем примере, если «var» будет иметь значения «array()», «0», «'0'», «''». Вывод: оператор «!» можно применять только к существующим переменным, чтобы сделать их «отрицание», применять их правильно к тем и только к тем переменным, которые могут быть «true» или «false», т.е. логического типа данных «bool». Остальные случаи, кончено, тоже работают, но, если, дай Бог, всё-таки введут в PHP строгую типизацию, то всё полетит к чертям. 2. Про isset. isset — это такая функция. Она проверяет переменную на существование и не «NULL». То есть «isset($var);» вернёт true только в случае, если переменная объявлена и имеет значение отличное от NULL. Вот такой код: var_dump(isset($var)); $var=123; var_dump(isset($var)); $var=NULL; var_dump(isset($var)); выдаст нам такой результат: В первом случае переменной еще не существует, поэтому «false», во втором мы переменной присвоили целочисленное значение «123», то есть переменная появилась и имеет значение, отличное от «NULL», поэтому «true», в третьем мы присвоили этой переменной значение «NULL», поэтому снова «false». Честно, говоря, я ни разу не использовал в PHP значение NULL и при помощи isset проверяю существование переменной. Вывод: isset проверяет существование переменной и возвращает «true», если эта переменная существует и её значение отличное от «NULL». Глобальные переменные типа $_POST существуют всегда, поэтому isset($_POST) всегда выдаст true. 3. Про empty. Вот тут столько же «непонятностей», что и с «!», как раз из-за отсутствия строгой типизации и, как следствие возможности сравнить, например строку с целым числом. «empty($var);» вернёт «true», если $var=0, $var='', $var='0', $var=NULL, $var=false, $var=array(), то есть пустой массив, или переменной вообще не существует. При попытке «скормить» функции несуществующую переменную, ноутиса не будет. Для чего я употребляю «empty»: в первую очередь для проверки «пришло ли что-нибудь из формы», т.е. if (!empty($_POST)) во вторых, для проверки массивов на заполненность. Ну и еще, например, удобно её использовать для одновременной проверки существования и непустости переменной: например, имеем урл и нам надо проверить что в нём содержится — допустим три варианта «/catalog», «/catalog/», «/catalog/10». Первые два варианта надо сделать равнозначными, а воторой уже выведет нам конкретную запись в каталоге. Делаем что-то типа $url=explode('/', $_SERVER['REQUEST_URI']); if (empty($url[2])) ... else ... Эта запись будет равнозначна следующей: if (!isset($url[2]) || (isset($url[2]) && $url[2]!='')) Однако, следует иметь ввиду, что если на втором месте в урле будет стоять ноль, то этот empty выдаст true. Пример высосан из пальца, но общую суть, я думаю, он показывает. Вот такие дела. Если что-то непонятно — задавайте вопросы. Если что-то забыл или написал неверно — поправляйте.
  13. Может, через UNION попробовать?
  14. А вот и не так. Проверка на существование — isset. Empty тоже проверяет на существование. То есть «var_dump(empty($var))» вернёт true, а «var_dump(!$var)» тоже true, но будет ноутис (конечно, при условии, что переменная $var не определена).
  15. Ну тут в чём соль. PHP не имеет строгой типизации и поэтому всё работает как попало. Например empty($var) сработает, если $var=0, $var='' или $var=array(). Я использую «!empty» для $_POST, чтобы понять, что был сабмит формы, или как альтернативу «isset($var) && $var!=0 && $var!=''». Что касается конструкции «if($_POST)», так она должна, по идее, означать что $_POST имеет значение false, но пустой массив тоже подходит под эту конструкцию, то есть $arr=array(); echo ($arr) ? "true" : "false"; выведет «false». Ну а вообще переменные на «наличие и непустоту» надо проверять при помощи «empty», так как иначе, если такой переменной не было создано, будет ноутис «Undefined variable», ну а поскольку $_POST — массив глобальный и он всегда определён, то проверка вида «if($_POST)» даёт ожидаемый результат. Я вообще считаю, что PHP, как первый язык программирования — абсолютное зло. Начинать надо, например, с си — с него пеерйти на пхп очень просто, а вот наоборот просто капец как сложно.
  16. Делаем что-то типа <form method="post" action="/comment.php?action=send"> Ну и после добавления в базу делать header("Location: /comment.php"); Это решит проблему повторной отправки значений массива $_POST при обновлении страницы. Ну а что касается добавления вообще, то я не вижу никакой проверки на отправку сообщения. Делайте хотя бы if(!empty($_POST))
  17. А кто сказал, что я использую 100% языка? Мне вполне хватает и 10%. Мне кроме ввода/вывода из файла, запросов в БД и циклов почти ничего и не надо. Для примера, вот список функций PHP на букву «a». abs() acos() acosh() addcslashes() addslashes() aggregate() aggregate_info() aggregate_methods() aggregate_methods_by_list() aggregate_methods_by_regexp() aggregate_properties() aggregate_properties_by_list() aggregate_properties_by_regexp() aggregation_info() apache_child_terminate() apache_get_modules() apache_get_version() apache_getenv() apache_lookup_uri() apache_note() apache_request_headers() apache_reset_timeout() apache_response_headers() apache_setenv() apd_breakpoint() apd_callstack() apd_clunk() apd_continue() apd_croak() apd_dump_function_table() apd_dump_persistent_resources() apd_dump_regular_resources() apd_echo() apd_get_active_symbols() apd_set_pprof_trace() apd_set_session() apd_set_session_trace() apd_set_socket_session_trace() array() array_change_key_case() array_chunk() array_combine() array_count_values() array_diff() array_diff_assoc() array_diff_key() array_diff_uassoc() array_diff_ukey() array_fill() array_filter() array_flip() array_intersect() array_intersect_assoc() array_intersect_key() array_intersect_uassoc() array_intersect_ukey() array_key_exists() array_keys() array_map() array_merge() array_merge_recursive() array_multisort() array_pad() array_pop() array_push() array_rand() array_reduce() array_reverse() array_search() array_shift() array_slice() array_splice() array_sum() array_udiff() array_udiff_assoc() array_udiff_uassoc() array_uintersect() array_uintersect_assoc() array_uintersect_uassoc() array_unique() array_unshift() array_values() array_walk() array_walk_recursive() ArrayIterator::current() ArrayIterator::key() ArrayIterator::next() ArrayIterator::rewind() ArrayIterator::seek() ArrayIterator::valid() ArrayObject::__construct() ArrayObject::append() ArrayObject::count() ArrayObject::getIterator() ArrayObject::offsetExists() ArrayObject::offsetGet() ArrayObject::offsetSet() ArrayObject::offsetUnset() arsort() ascii2ebcdic() asin() asinh() asort() aspell_check() aspell_check_raw() aspell_new() aspell_suggest() assert() assert_options() atan() atan2() atanh() Сколько из них вы использовали в жизни хотя бы раз?
  18. Надо еще заголовки письма указывать. И, да, слово «адрес» пишется с одной «с».
  19. Не очень понятно чего вы хотите этим добиться
  20. Да что такого, что воруют? Думаете в других странах не воруют? Воруют, ещё как. А в Бразилии, например, ещё и убивают, причём просто так, на улице. Плохо живётся? Так это не потому, что кто-то там ворует, а потому что надо не заниматься всякой фигнёй, а работать в поте лица. Думаете, что где-нибудь типа США люди живут лучше? Да ничего подобного. Вернее, так оно и есть, но это справедливо только в отношении только тех людей, которые много и хорошо работают. У меня друг хороший в Америке живёт, так вот он работает 6 дней в неделю с 9 до 20 и за 5 лет ни разу не был в отпуске — он живёт хорошо, он взял в кредит большой двухэтажный дом и через 10 лет его выплатит. А через 20, вероятно, он сможет уже оставить бизнес на наёмных людей и жить в своё удовольствие. И это не потому, что он живёт в другой стране, а потому что он очень много трудится. Сейчас, в принципе, в России жить нормально — нет проблем с работой и, соответственно, с деньгами. Не могут заработать только те, кто не хочет или те, кто реально не может (инвалидность, например, или прочие физические ограничения). Не можешь работать головой — работай руками. Я несколько лет ездил на север на стройки работать и, скажу вам, там весьма приличные зарплаты. Для сравнения: у меня отец (инженер-радиотехник) в 90-е при всём своём уме и опыте работы делал ремонт по квартирам, по ночам какие-то платы паял, при этом имея основную работу, чтобы семье хватало на еду, не говоря уже о чём-то большем. А сейчас я, обладая только школьным аттестатом, без проблем работаю программистом за вполне вменяемую зарплату, и денег мне хватает не только на еду, но и на то, чтобы откладывать на машину и подумываю о том, чтобы в следующем году обзавестись своим двухкомнатным жильём. Да, по вечерам и выходным халтурю, но зато я могу позволить себе тратить деньги на всякие «излишества» типа фотоаппаратов и прочих объективов, компов, чтобы «играть в сисадмина» и всё такое прочее. Так что нефиг жаловаться и завидовать, что кто-то там молодец — украл по шумок миллиарды денег. Они же не с ровного места их украли, а шли к этой возможности долго и упорно. Так что трудитесь и докажите всем, что можно заработать много денег честно.
  21. Я вот яваскрипт знал, но основательно забыл. Пользуюсь всегда jQuery. Когда его не хватает (редко, но случается), то я вспоминаю «классический» яваскрипт. Я вообще считаю, что достаточно знать основные принципы языка, а остальное гуглится по мере надобности. Например, PHP, который у меня основной язык я знаю процентов на 10, наверное. Когда что-то надо, чего я не знаю, то я это дело гуглю. Зато вместо того, чтобы тупо изучать синтаксис, я это время трачу на изучение каких-нибудь других вещей как то: настройка серверов, придумываю всякие извращения с кэшированием и вообще расширяю кругозор. По теме я бы посоветовал использовать jQuery, а «классику» смотреть по мере надобности. Всё-таки время не резиновое и тратить его надо максимально эффективно.
  22. Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.04 (lucid) Firefox/3.6.12 Cейчас заработало. Теперь собственно по редактору. Подсведка кода работает. А вот табуляция не работает. А это для меня одна из основных вещей, без которой работать невозможно.
  23. А у меня вообще ничего не работает. Пустая страница и всё.
  24. В принципе, можно. Но лучше использовать серверные языки — это удобнее.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy