Напевно кожен початківець веб-програміст стикався з функцією PHP mail (), яка служить для відправки повідомлень на e-mail користувачів. Працюючи на пряму з цією функцією, дуже часто доводиться самостійно готувати і передавати всі заголовки листів, що містять безліч службової інформації. У більшості випадків все відбувається без будь-яких несподіванок, але бувають і винятки. І як правило самостійне складання заголовків, підготовка тіла листа і подальша його відправка може супроводжуватися помилками в кодуванні листа, його форматі і т.д.
Приклад роботи функції mail ():
<!--?php mail("mail@example.com", "Тема повідомлення", "Рядок 1\n Рядок 2\n Рядок 3"); ?-->
Наступний приклад більш розширений, до нього додана робота із заголовками повідомлення:
<!--?php $to = "user@example.com-->, " ; $subject = ' Тема повідомлення '; $to .= "user2@example.com>"; $message = ' Повідомлення для користувачів сайту! '; $headers = "Content-type: text/html; charset=windows-1251 \r\n"; // Тип повідомлення HTML, кодування листа в windows-1251 $headers .= "From: Адміністратор \r\n"; $headers .= "Bcc: archive@example.com\r\n"; mail($to, $subject, $message, $headers) ?>
Такий спосіб відправки дуже зручний, у невеликих скриптах або системах. Коли надійність та зручність використання стоїть на другому місці. І як я говорив раніше, в такій реалізації відправки листа може бути допущена помилка. Наприклад якщо ми пошлемо такий лист, із зазначеними вище заголовками на поштову скриньку ***@yahoo.com, воно швидше за все прийде до нас в нечитабельному вигляді. Замість тексту ми побачимо безліч ієрогліфів. Це пов’язано в першу чергу з тим, що ми вказали кодування windows-1251, кириличні символи які погано відображаються сервісом @yahoo.com.
Для декого будуть цікаві новини популярного шоу на каналі стб – ІксФактор. Все це та багато іншого на сайті http://x-faktor.biz. Дізнайся все про учасників та виконавців.
Але якщо ми плануємо підійти до питання організації поштових розсилок в нашому проекті більш серйозно, то слід використовувати для цих цілей рішення реалізоване в класі PHP. Відправлення пошти за допомогою спеціально підготовленого класу, може виглядати наступним чином:
include "libmail.php";
$m= new Mail('windows-1251'); // можна вказати кодування, або нічого не вказувати ($m= new Mail;)
$m->From( "admin@site.com" ); // від кого
$m->To( "chupakabra@site.com" ); // кому
$m->Subject( "Тема повідомлення" );
//$m->charset("UTF-8"); // Кодування повідомлення
$m->Body("Текст повідомлення.");
$m->Cc( "chupakabra2@site.com"); // можна відправити копію повідомлення на іншу адресу
$m->Bcc( "chupakabra3@site.com"); // можна відправити прихованц копію повідомлення на іншу адресу
$m->Priority(4) ; // встановлення пріоритету
$m->Attach( "/toto.gif", "", "image/gif" ) ; // прикріпляємо файл image/gif. тип файлу вказувати не обовязково
$m->smtp_on("smtp.site.com","login","pass", 25, 10); // якщо використовувати дану команду відправлення пошти йде за допомогою smtp
$m->Send(); // відправити
echo "Повідомлення відправлено. Нижче ви можете бачити текст відправленого повідомлення:<em>", $m->Get(), "</em>";
У цьому прикладі все досить розписано, процес відправки простий і зрозумілий. Всі заголовки листа формуються автоматично, кодування листа UTF-8, хоча ви завжди можете вказати своє. Також ви можете прикріпити файл або декілька файлів якщо це знадобиться.
Сам же клас ви можете скачати нище, в його коді все досить добре прокоментовано, так, що я думаю проблем у вас з ним не виникне. Клас працює з PHP 4 і вище, найближчим часом викладу перероблений клас для PHP 5, думаю він не особливо буде відрізнятися, але кілька нових фішок в ньому з’явиться.
Думаю ви не раз бачили на різних блогах, що перша стаття на головній сторінці відображається по іншому, ніж усі інші. Ось таке і попробуємо зробити сьогодні на своєму сайті.
Красиве оформлення першого поста притягує увагу всіх відвідувачів і за допомогою цього способу можна збільшити кількість переходів на нього. До того ж перший пост на головній сторінці – це завжди останній запис, а це як ніколи важливо, щоб на нього переходило якомога більше відвідувачів.
Налаштовуємо код
Спочатку цикл виведення постів на головній сторінці виглядає ось так:
<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <div class="post"> ... </div> <?php endwhile; ?> <?php endif; ?>
За підтримки сайта – интернет магазин бытовой техники.
Для того щоб оформити саме перший пост, треба йому привласнити унікальний class, щоб потім в CSS можна було ставити стилі оформлення. Для цього замініть стандартний цикл на ось такий:
<?php $i = 0; ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php $i++ ?> <div class="post<?php if ($i == 1) echo ' first'; ?>"> ... </div> <?php endwhile; ?> <?php endif; ?>
Схема роботи дуже проста, з початок ми задаємо змінну ($ i), яка рівна нулю, з кожним новим циклом до цієї змінної буде додається одиничка ($ i + +), тобто для першого поста $ i == 1, для другого поста $ i == 2 і так далі. Після цього ми в тезі <div> який обрамляє сам пост вписуємо умовний оператор і вказуємо в ньому:
if ($ i == 1) echo ‘first’; – Якщо змінна $ i рівна 1, то пишемо first.
Після цього у першого поста буде унікальний клас first, для якого вже можна писати оформлення у файлі стилів css.
Вийшов ось такий не складний урок, але як на мене – дуже корисний.
В WordPress існує досить широкий клас, що надає набір методів для ефективної роботи з базою даних. Ви можете знайти опис цього класу а також усіх його методів у файлі /wp-includes/wp-db.php. А зараз розглянемо найбільш важливі з цих методів, і невеликі приклади їх використання. Важливо вміти використовувати можливості класу $wpdb, для безпечної роботи плагінів. А для хорошої роботи сайту використовуйте хостинг в Украине.
У статті будуть наведені приклади використання наступних шести методів:
- insert($table, $data, $format) - вставляє рядок у таблицю через масиви.
- update($table, $data, $where, $format, $where_format) - оновлює рядок в таблиці через масиви.
- get_var($query, $x, $y) - отримує одиночну змінну з бази даних.
- query($query) - виконує MySQL-запит до бази даних, з поточним підключенням.
- get_results($query, $output) - отримує дані SQL-запиту з бази даних (один чи безліч рядків).
- escape($data) - екранує контент для вставки в базу даних, використовуючи метод addslashes () для безпеки. далі…
Навіщо потрібна затримка перед публікацією статті в RSS?
- Чи траплялося у вас, що ви опублікували пост, і зразу після цього знайшли там помилку? Або випадково опублікували пост, який ще не готовий до публікації? Якщо трансляція записів з сайту в RSS відбувається відразу – все, Ваші читаті, які слідкують за RSS стрічкою, вже читають статтю.
- Записи з вашого RSS транслюються в RSS-каталоги або соціальні мережі? Якщо записи у вашому блог відразу з’являються в RSS, завжди є ймовірність, що пошукові системи порахують запис у ЖЖ або в якій який-небудь системі публікації новин першоджерелом, а ваш блог – збіркою копіпаста, особливо це актуально для молодих блогів.
- Хочете щоб читачі частіше заходити на блог, а не читали статті по RSS? Публікуйте записи із затримкою.
Якщо подивитися на можливості mysql, там є така функція як timestampdiff (). Доповнимо висновок постів цією функцією, не забуваємо вставити перевірку is_feed () вказує на те, що ми змінюємо саме висновок RSS.
Цей код доданий в functions.php (на початку або в кінці) вашої теми виведе пости в RSS через 5 хвилин після їх публікації:
function publish_later_on_feed($where) {
global $wpdb;
if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate('Y-m-d H:i:s');
// value for wait; + device
$wait = '5'; // integer
// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter('posts_where', 'publish_later_on_feed');
Час затримки редагуємо в 7 рядку.
Думаю каждый мущина мечтает купить себе пневматические винтовки для охоты. Быть с друзьями в лесу и подстеригать большого или маленького зверя это просто супер. На словах тяжело передать весь кайф и ощущения.
Готую уроки по PHP для свого блогу. Цікавить інтерес читачів до таких курсів.
Для правильного працювання даяких придбаних скриптів мені знадобився CURL. Прийшлося встановити його на Denwer. В базовий пакет PHP, який ыде з Denwerом вын не включений. Але його запросто можна включити.
1) Скачуэмо пакет розширення “PHP5: додаткові модулі”: http://www.denwer.ru/packages/php5.html .
2) Встановлюэмо його.
3) Відкриваєте в текстовому редакторі файл usr/local/php5/php.ini і знімаєте коментар з рядка:
;extension=php_curl.dll
4) Denwer Restart Servers.
Ось і все. Щоб переконатися, що все встановилося нормально, можете перевірити дані, згенеровані функцією phpinfo (). Там повинно бути включена підтримка CURL.
Продовжую вивчати PHP.
Сьогодні другий урок.
Всякий PHP-скрипт повинен бути обмежений наступними символами:
<? скрипт ;?>
Або
<?php скрипт ;?>
Або
<script language=”php”> сам скрипт </script>
Між цими символами буде виконуватися кожний рядок коду. Крім рядків-коментарів, які позначаються:
// – не виконуються команди від цього символа до кінця радка;
/* комментарий */ – не виконуються команди між цими символами, незалежно від кількості рядків коментаря;
# – коментарем рахуються всі символи від цього символа до кінця рядка.
Тепер розберемося з однією із найбільш популярних функцій в PHP – функція виводу echo. Наприклад:
<? echo “Зараз пишу другий урок”;?>
Виведе на екран текст “Зараз пишу другий урок”, без лапок, без якого-небуть форматування. В середині лапок після echo може бути любий текст, в тому числі і HTML.
У першому уроці ми розглядали що таке змінна, і як вона записується. Операція присвоєння позначається =. Подивимося приклад:
<? $A=7.135;
$a=15; $mess4=”Четвер”;
echo “Сьогодні $mess4, $a -го” ;
$9sad=194 //Неправельне імя змінної
?>
Всі змінні у прикладі фіксовані, а для їх зміни нам потрібно самим міняти їх значення в скрипті.
Використовуємо стандартні форми HTML для вводу змінних:
<HTML>
<form action=”www.домен.org.ua/test.php” method=”post”>
Ваше Імя <input type=”text” name=”name”><br>
Ваша фамілія <input type=”text” name=”fam”><br>
<input type=”submit” value=”Правильно”>
</form></HTML>
Файл test.php буде складатися так:
<? echo “Поздоровляю, $name $fam,<br>Ви увійшли на сайт” ;?>
На цьому закінчу другий урок)
Давно хотів розпочати вивчення PHP, так як мені приходиться кожного дня з цим працювати, а я все роблю методом проб та помилок, нічого в тому не розуміючи. І ось нарещі і до цього дойшли мої руки та голова.
Вирішив провести цикл статей на тему – Уроки PHP.
Вивчення PHP почнемо з вивчення синтаксису та граматики. Синтаксис мови програмування PHP позичений із мови С. Мови Java та Perl також трохи повпливали на нього.
Перехід із HTML в PHP
Для початку подивимося як правильно засунути код HTML в PHP. Для цього існує декілька способів.
1. <? echo (“Найпростіший спосіб – це лапки із знаком питання”); ?>
2. <?php echo (“Цей спосіб для роботи із XML документами”); ?>
3. <script language=”php”>
echo (“деякі редактори (типу FrontPage) не люблють оброблювальні інструкції”);
</script>
4. <% echo(“У версіях PHP починаючи від 3.0.4 можно використовувати теги ASP”); %>
Розділення інструкцій
Дальше у нас роздвлення інструкцій. Інструкції в PHP розділяються так як у C та Perl – крапкою з комою. Закриваючий тег ?> також вказує на закінчення твердження, тому між записами:
<?
echo (“Текст”);
?>
і
<? echo (“Текст”) ?>
немає ніякої різниці.
Типи змінних
PHP підтримує змінні таких типів:
integer – ціле;
double – число з дробовою частиною;
string – рядкова змінна;
array – масив;
object – обєктна змінна;
pdfdoc – PDF документ (тільки з підтримкою PDF);
pdfinfo – PDF інфо (тільки з підтримкою PDF).
Зазіичай програміст не встановлює типи змінних, за нього це робить PHP під час виконання програми.
Ініціалізація змінної
Для того, щоб ініціалізувати змінну в PHP потрібно просто присвоїти їй яке небуть значення. Це для більшості змінних. Для обєктних змінних чи масивів може використовуватися інший механізм. Змінна в PHP завжди починається із значка долара $.
Заключення.
Якщо нам потрібно вставити PHP код між тегами <font></font>. Цей код у нас ініціалізується змінними $a і $b.
<FONT>
<?php
$a = “Hello “;
$b = “World!”;
?>
</FONT>
Уже пару днів намагався добавити свій новий варезник в систему купівлі-продажі посилань SAPE. Працюю на двигунці DLE 8.2. А там трошки змінена структура порівнянні з попередніми версіями, тому багато в кого виникають проблеми з кодом. Сам код я встановив без проблем, а от добавити в SAPE ніяк не получалося. Постійно видавало мені:
Укажите полный УРЛ любой страницы сайта, на которой заведомо установлен код!
Код встановив правильно, в цьому впевнений. Написав на форумі підтримки, відповіли що код правильний але щоб працювало потрібно звернутися до спеціалістів, а вони просять 5 WNZ за всановлення сапи. Ціна не велика, але і сайт з нульовим тІЦом.
Вирішив добавити сайт в LinkFeed.ru. Ніколи не працював з цією системою. Код встановив без проблем, той самий що і до сапи ставив, тільки змінив зміні і назву папки. Зараз бот гуляє по мому сайті.
Про мої відгуки по системі та заробіток на ній буде пізніше ..
————————–
Уже є відгуки LinkFeed.ru сама гавняна біржа яку я використовував.
І це не сапа глючила, то в мене глюки були. Я ж посилання після лічилькиів поставив, а лічильники заключив в теги noindex і doffolow. Тобто не заключив, а якусь пургу загнув, бо замість того щоб закрити теги, я ще раз їх відкрив.
Виправив помилку і без проблем додав сайт в SAPE. От дурна башка.
Також помітив що на сайті 90 відсотків відвідувачів іде із яндекса, а в googl половина сторінок не проіндексована. Прогнав його по соц. закладках, пізніше ще по каталогах прожену, googl це любить.
73 дні назад 



