Программирование, СМС, Webasyst, Drupal, PHP, личная эффективность

Раздел 'php'

 
 

Ошибки программиста PHP

Сентябрь 12, 2011   |   Категории: php

php-logo

PHP является одним из самых доступных языков веб-программирования. По этой причине многие разработчики используют именно его. Но, несмотря на простоту PHP, важно иметь значительный практический опыт, дабы не допускать некорректных и неправильных действий. Поэтому, если вы новичок, то ошибки программиста PHP должны знать обязательно, дабы не совершать их в процессе написания кода. (далее…)


  Читать дальше >> Оставить комментарий  
 
 
 
 

Побеждаем magic_quotes_gpc

Сентябрь 21, 2010   |   Категории: php, веб мастерим

Хотел написать в заголовке – что такое magic_quotes_gpc и с чем ее едят :) . Эту тему мне напомнили статьи про куки. Но “побеждаем magic_quotes_gpc” звучит более правильно так, что называю как надо.

При разработки веб приложений очень важно следить за безопасностью скриптов. Когда вставляются данные в базу данных например, mysql их нужно экранировать чтобы невозможно было атаковать приложения. Для автоматизации чтобы не забыть проэкранировать была придумана функция magic_quotes_gpc которая автоматически экранирует данные GET, POST, и COOKIE.

Но проблема в том, что во многих скриптах экранирование делали вручную например, с помощью функции addslashes. Поэтому может получиться двойное экранирование, что совсем не гуд.
Например, если отключен magic_quotes_gpc тогда скрипт test1.php?var=S’smile –

<?php
# выводит:  S/'smile?
echo addslashes($_GET['var']);
?>

Но если включен magic_quotes_gpc, тогда выводится ерунда –

<?php
# выводит:  S///'smile?
echo addslashes($_GET['var']);
?>

Как видите аж 3 слеша, а ведь нужно, чтобы был только один. Так, что важно еще в начале разработки отключить функцию magic_quotes_gpc.
(далее…)


  Читать дальше >> 2 Комментариев  
 
 
 
 

Редирект с www

Август 10, 2010   |   Категории: php, seo, веб мастерим

Для поисковых систем домены http://www.example.com и http://example.com не одинаковые. Это может негативно сказаться для поискового продвижения сайта. Например, ссылки, которые поставлены для домена без www уже не будут считаться для домена с www.

Во многих популярных сайтах при открытие сайта с www автоматически происходит редирект на домен без www. В этой статье я покажу, как это можно сделать при помощи php. Можно было бы использовать для этой файл .htaccess если на сервере включен модуль апача – mod_rewrite. Но мой способ не хуже и мы не зависим в этой случае от модуля mod_rewrite, который не на всех серверах может быть включенным.

Для этого нам понадобятся следующие php переменные –

$_SERVER['HTTP_HOST'] – в этой переменной содержится наш домен.
$_SERVER['REQUEST_URI'] – в этой переменой содержится путь, от корня сайта включая и get параметры если такие имеются в адресе.

Итак, вначале главной страницы сайта. Как правило, это файл index.php вставить следующий код –

if(strpos($_SERVER['HTTP_HOST'], 'www.') === false) {
// ничего не делаем
}
else {
$_HOST=str_replace('www.', '', $_SERVER['HTTP_HOST']);
header ('HTTP/1.1 301 Moved Permanently');
header("Location: http://".$_HOST.$_SERVER['REQUEST_URI']);
}

(далее…)


  Читать дальше >> 2 Комментариев  
 
 
 
 

Создаем динамическое голосование используя jQuery и PHP

Август 9, 2010   |   Категории: jQuery, php, Новости, веб мастерим

голосование используя php и jquery
Когда вы комбинируете некоторую функциональную особенность php c jQuery. В результате у вас может получиться интересный результат. В этом обучающим руководстве мы создадим голосование, используя PHP и XHTML. Используем некоторые jQuery Ajax эффекты для того чтобы страница не перезагружалась и для добавления к голосованию немного анимации.

HTML

Давайте получим наш <head>. Установим:

    <link href="style.css" rel="stylesheet" type="text/css" />  
    <script src="jquery.js" type="text/javascript" charset="utf-8"></script>  
    <script src="jquery.cookie.js" type="text/javascript" charset="utf-8"></script>  
    <script src="poll.js" type="text/javascript" charset="utf-8"></script>

– style.css управляет CSS разметкой.
– jquery.js главная jQuery библиотека
– jquery.cookie.js Плагин (автор – Klaus Hartl)добавляет управление куки в jQuery.
–poll.js это Javascript который делает голосование динамическим
(далее…)


  Читать дальше >> 3 Комментариев  
 
 
 
 

Подключаем голосование звездочками к сайту или движку. Используем класс ajax_star_rating

Июль 15, 2010   |   Категории: php, веб мастерим

На множестве сайтов есть голосование. Например, если зайти на сайт программ можно увидеть пять звездочек в ряд. При наведении мышки каждая звездочка меняет цвет. Наведя на определенную звездочку можно повлиять на рейтинг программы. Это удобно тем, что сразу можно отсеивать непопулярные, а значит неконкурентоспособные или неинтересные программы.

голосование

В данной статье я покажу как подключить скрипт голосование за материал для сайта. Сайт должен работать на php и иметь базу данных mysql.

Итак скачаем сам скрипт. Заходим по адресу – http://www.phpclasses.org/package/4336-PHP-Update-votes-and-display-rated-content-with-stars.html и там скачиваем скрипт — ajax_star_rating.

После того как скачали распаковываем скрипт и вставляем его к скриптам сайта. Например, в список классов сайта. Я вставил в папку lib которая в корне сайта.
(далее…)


  Читать дальше >> Оставить комментарий  
 
 
 
 

Полезные php константы

Март 29, 2010   |   Категории: php, веб мастерим

Есть несколько полезный магических констант в php которые я сдесь опишу. Магические константы начинаются с двух символов подчеркивания и заканчиваются тоже с двух символов подчеркивания.

В данной заметке рассмотрим 3 константы

__LINE__
__FILE__
__DIR__

По названию, думаю должно быть сразу понятно для чего эти константы. Но кто не понять объясню –

__LINE__ выводим номер строки, в которой эта константа находится.
__FILE__ выводит файл текущего документа.
__DIR__ папка текущего файла.

Рассмотрим на примере две первые константы. Например, у нас есть самописная функция, в которой вызывается запрос в базу, а код запроса передается через параметры функции.

function db_query($sql) {
$q=mysql_query($sql) or die(mysql_error()."
<strong>"
.__file__. " On line - ".__line__."</strong>");
return $q;
}

В функции выше при ошибке вызывается функция die, которая прекращает работу скрипта и выводит сообщение, которое определенно в ее параметрах. Только в примере выше номер строки в которой произошла ошибка будет выведена неправильно, так как вызов функции происходит в любом месте скрипта или даже в другом файле.

функция, что выше будет всегда показывать одну и туже строку и один и тот же файл, так как эти константы определенны внутри функции. Чтобы вывод ошибки правильно работал нужно переписать так функцию -

function db_query($sql, $file=__file__, $line=__line__) {
$q=mysql_query($sql) or die(mysql_error()."
<strong>"
.$file. " On line - ".$line."</strong>");

return $q;
}

Теперь в параметрах функции мы передаем номер файла и номер строки в результате при возникновение ошибки в sql запросе будем знать файл и номер строки где ошибка произошла.


  Читать дальше >> Оставить комментарий  
 
 
 
 

Функции serialize и unserialize в php

Февраль 6, 2010   |   Категории: php, веб мастерим

В php есть очень удобная функция для хранения php значений(массивов), например в базе дынных или в текстовом файле. Название этой функции serialize(). Serialize(mixed $val ) – в первом параметре принимает нашу переменную, обьект или массив…. Для обратного преобразования служит функция unserialize(). Unserialize($str) принимает в первом параметре сериализированную переменную и преобразовывает ее в в php значение.

Начнем с простого примера. Рассмотрим на примере простого массива –
(далее…)


  Читать дальше >> 2 Комментариев  
 
 
 
 

Получение хмл данных на php5 и вывод данных базы для webasyst’a

Январь 21, 2010   |   Категории: Webasyst, php

В данной заметке я расскажу как очень просто вывести данные с хмл файла. Хмл технология довольно популярная. Например, rss ленты сделаны на этой технологии. На многих информационных сайтах есть rss. Хмл можно так сказать – это конкурирующая технология для баз данных, так как там и там хранятся структурировано данные.

В php 5 есть удобная функция simplexml_load_file которая загружает данные хмл в виде объекта. В первом параметре принимает имя хмл файл.

Рассмотрим эту функцию на примере. Например, нам нужно для нашего скрипта получить данные для подключения к базе данных магазина на webasyst shop-script. Для этого сделает несколько шагов –
Создадим файл в корневой папке магазина
С помощью функции simplexml_load_file получим наши данные
Используя выборочно данные которые мы получили с помощью функции simplexml_load_file подключимся к базе данных.
(далее…)


  Читать дальше >> Оставить комментарий  
 
 

 




 

 
 

На сайте freesoftspace.com можно найти много полезных бесплатных программ для веб разработки

 
 


38201110912430120x600.gif
Каталог блогов
2009-2012   При копировании материала активная ссылка на web-grand.ru обязательна