Пишем гостевую книгу(добавление записей) Часть 2

<< Начало статьи


Условный оператор. Его синтаксис: if(условие){группа операторов, которые выполняются при выполнение условия}else{группа операторов, которые выполняются при несоблюдение условий}

Условие может быть любым выражением, например:

  • ($x==3) - переменная равна трем
  • ($x!=3) - переменная не равна трем
  • ($x>3) – переменная больше трех
  • ($x<=3) – меньше или равна трем
  • ($x >3 & $x<10) – переменная больше 3, но меньше 10 (лежит в промежутке от 3 до 10)
  • ($x < 3 || $x >10) – переменная меньше 3х или больше 10 (лежит в промежутке от минус бесконечности до 3 и от 10 до бесконечности)

Оператор htmlspecialchars. Синтаксис: $text=htmlspecialchars(stripslashes("текст в котором надо преобразовать тэги));

Эта функция делает важную вещь – производит преобразование спецсимволов в их HTML эквиваленты. Попросту говоря, эта функция гарантирует, что если Вы вдруг вздумаете написать в гостевой книге или на форуме какой-то код (php, javascript и т.д.) он отобразиться совершенно нормально, но выполняться не будет! Т.е. функцию надо применять, если нужно вывести в браузере какой-то код. Кроме того, эта функция избавляет Вас от всяких кретинов, которым нечем заняться кроме как писать в Ваших гостевых книгах (и любых формах ввода) какие либо скрипты.

$conv1 = array("$", "#"); - тут мы определяем массив для дальнейшей замены элементов. Собственно синтаксис такой: $masiv= array("Элемент 1","Элемент 2","Элемент 3","Элемент 4");

$name=str_replace($conv1,$conv2,$name); - ну а тут мы заменяем соответствующие элементы определенных массивов в веденном тексте. Проще горя, если этот оператор находит в введенной строке элементы из первого массива, то он заменяет их элементом с тем же порядковым номером из второго массива. Кстати, $conv1 $conv2 не обязательно должны быть массивами, они могут быть и просто переменными, и просто текстом. Синтаксис оператора:

$text = str_replace("то, что надо заменить", "то, чем надо заменить", "текст, где это необходимо заменить");

$brauz=getenv('HTTP_USER_AGENT'); - определяем тип браузера, тут собственно и нечего добавить.

$brayz=strtok($brauz,'/'); - сокращаем строку (тип браузера). Данный оператор возвращает строку с начала, и до указанного символа. Синтаксис:

$stroka=strtok("строка, которую надо урезать","Символ, до которого надо урезать");

$zap="$name#$mess#$mail#$time#$brauz \r\n"; - строка, в которой содержится сообщение и все данные о нем, которую мы будем записывать в файл. Тут знак # применяется для разделения данных, выше мы уже удалили такой знак из всех полей ввода, для корректной работы. Обратите внимание, в конце строки стоит "\r\n" – это символы окончание строки и перехода на новую.

$fp=@fopen("rek/mess.txt","a"); - открываем файл для дозаписи в конец. Синтаксис оператора:

$diskr=fopen("путь к файлу","параметр, который указывает для чего мы его открываем");

параметр, который указывает для чего мы его открываем может принимать следующие значения:

  • r (Открыть файл только для чтения; после открытия указатель файла устанавливается в начало файла);
  • r+ (Открыть файл для чтения и записи; после открытия указатель файла устанавливается в начало файла);
  • w (Создать новый пустой файл только для записи; если файл с таким именем уже есть вся информация в нем уничтожается);
  • w+ (Создать новый пустой файл для чтения записи; если файл с таким именем уже есть вся информация в нем уничтожается);
  • a (Открыть файл для дозаписи; данные будут записываться в конец файла);
  • a+ (Открыть файл для дозаписи и чтения данных; данные будут записываться в конец файла);
  • b (Флаг, указывающий на работу (чтение и запись) с двоичным файлом; указывается только в Windows).

В случае удачного открытия файла, функция fopen возвращает дескриптор файла, в случае неудачи - false. Дескриптор файла представляет собой указатель на открытый файл, который используется операционной системой для поддержки операций с этим файлом. Возвращенный функцией дескриптор файла необходимо затем указывать во всех функциях, которые в дальнейшем будут работать с этим файлом.

fputs($fp,"$zap"); - записываем строку в файл. Синтаксис оператора: fputs("Дескриптор открытого ранее файла","текст, который надо записать"); fclose($fp); - закрываем файл. Синтаксис: fclose("дескриптор открытого файла"); chmod ("rek/mess.txt", 0777); - устанавливаем нужные права доступа файлу.

экспертиза промышленной безопасности стальных вертикальных сварных резервуаров
Источник: wapteam.ru

Советую также почитать: