/* Представлены следующие фукнции: Разложение числа на целую и дробную части int int_fract(int *sign,unsigned short *dest,double src); sign -- знак результата; -1, 0 или 1 на выходе, dest -- массив из 5 элементов: dest[0] и dest[1] содержат 32-bit беззнаковую целую часть, dest[2]-dest[4]&nb
... Читать дальше »
FORM тэг определяет форму для заполнения в HTML документе. В одном документе может быть определено несколько форм для заполнения, но вложенные FORM операторы не разрешены. Синтаксис
Формат оператора FORM выглядит следующим образом:
<FORM ACTION="url" METHOD="POST">...</FORM>
Его атрибуты следующие:
ACTION
URL сервера запросов, куда будет отослано содержание формы после подтверждения. Если это поле отсутствует, будет использован URL текущего документа.
METHOD
HTTP/1.0 метод используемый для посылки содержания заполненной формы на сервер. Этот метод зависит от того, как работает конкретный сервер запросов. Настоятельно рекомендуется использование метода POST. Возможные варианты следующие:
§ GET - это метод по умолчанию, который приводит к добавлению содержимого заполненной формы к URL, как и в нормальном запросе
... Читать дальше »
Осуществляется при помощи функции mysql_connect: $connect = mysql_connect(<хост>, <логин>, <пароль>); По умолчанию, на mysql-сервере в таблице пользователей есть пользователь root, который может иметь доступ только с localhost-а, то бишь с того же самого компьютера, где стоит сервер mysql. ВНИМАНИЕ! "Иметь доступ с localhost-а" значит, что доступ имеет ваш скрипт PHP, а вы можете обращаться к нему с любого другого компьютера.
Что происходит, когда мы вызываем функцию mysql_connect? С началом выполнения вашего скрипта, php выделяет в своей памяти место для информации о нём и его переменных. В информации о выполняемом скрипте хранится, в том числе, и информация о соединениях с базами данных. Переменная $connect - грубо говоря указатель на место, где данная информация хранится. Переменная эта точно такая же, как и остальные - если вы используете функции, то надо объ
... Читать дальше »
При работе CGI-скриптов, осуществляющих запись в файлы (а это большинство их видов - счетчики. гостевые книги, форумы и т.п.) возможна ситуация, когда два или более одновременно запущенных "экземпляра" скрипта попытаются одновременно записывать свои данные в файл.
Как минимум, это чревато потерей результатов работы одного из экземпляров скрипта, а как максимум - нарушением структуры файла данных и невозможностью нормальной работы скрипта до вмешательства админа.
Поэтому в CGI-скриптах принимают специальные меры по блокировке одновременного использования файлов данных несколькими скриптами одновременно. В языке Perl, как и во многих языках программирования, есть специальная функция "блокировки" файла flock.
Однако на практике эта функция не работает в портах Perl под Windows 9x. Соответственно, скрипты, использующие эту функцию,
... Читать дальше »
здесь будет рассмотрена загрузка файлов на сервер по протоколу HTTP. Рассмотрим два варианта конфигурации PHP:
register_globals=Off - параметры передаваемые скрипту заносятся в массивы $_GET[], $_POST[], $_FILES[], $_COOKIE[], ... register_globals=On - все параметры передаваемые скрипту, автоматически становятся глобальными переменными и они также доступны через массивы $_GET[], $_POST[], $_FILES[].
Upload файлов при register_globals=On
В этом случае параметры передаваемые скрипту становятся глобальными переменными и кроме этого PHP также формирует массивы $_GET[], $_POST[], $_FILES[]. При такой конфигурации вы можете выбирать как вам получить доступ к передаваемым параметрам. Либо вы пользуетесь глобальными переменными, либо получаете доступ через массивы $_GET[], $_POST[], $_FILES[].
if ($ip!="") { $sock = fsockopen ("whois.ripe.net",43,$errno,$errstr); //соединение с сокетом TCP, ожидающим на сервере "whois.ripe.net" на 43 порту. Возвращает дескриптор соединения
if (!$sock) { echo("$errno($errstr)"); return; } else { fputs ($sock, $ip."\r\n"); //записываем строку из переменной $ip в дескриптор сокета
while (!feof($sock)) { echo (str_replace(":",": ",fgets ($sock,128))." "); //осуществляем чтение из дескриптора сокета } } fclose ($sock); //закры
... Читать дальше »
// просмотр базы для получения реального пароля $link = mysql_connect($dbhost, $dbuser, $dbpasswd); mysql_select_db($dbname);
$result=mysql_query("SELECT password FROM auth WHERE name="$PHP_AUTH_USER""); $row=mysql_fetch_array($result);
// проверка if ($row==NULL) // пользователя с таким именем нет в БД, выходим { Header("WWW-Authenticate: Basic realm="Admin Center""); Header("HTTP/1.0 401 Unauthorized"); exit(); } else // пользователь с таким именем есть в БД, проверка пароля { $real_password="$row[password]"; if ($real_password
... Читать дальше »
Приложение для загрузки файлов на сервер представляет собой HTML-форму (upload.html) и скрипт upload.php для ее обработки.
Замечание: Upload бинарных файлов (картинок, архивов, программ и т.д.) стандартным методом часто приводит к тому, что файлы оказываются "битыми". Это связано с любовью Апача к всевозможным перекодировкам. Для того, чтоб он этим не занимался, допишите в файл httpd.conf следующее: <Location /> CharsetRecodeMultipartForms Off </Location>
Код формы (upload.html) <html> <head> <title>Загрузка файлов на сервер</title> </head> <body> <h2><p><b> Форма для загрузки файлов </b></p></h2> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="filename"><br> <input type="s
... Читать дальше »
Всё, что нам понадобится, это два GIF-а и небольшой скрипт. Следующий код изначально показывает логотип Microsoft. Если кликнуть на картинку, то сработает событие onclick и будет вызвана функция swapImage(). Функция определяет, какая картинка должна быть показана.