Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #67, ИЮНЬ 2006 г.

хостинг для настоящих митьков

РОМАН HA5H ЛАВРЕНТЬЕВ

Спецвыпуск: Хакер, номер #067, стр. 067-060-2


@mysql_select_db($base) or die("Base Error"); $base — в этой переменной хранится имя базы, ее также объявляем в начале.

Затем мы делаем проверку на пустые строки — я не буду описывать как (можно посмотреть в исходнике на диске). После проверки, если все нормально, добавляем данные в таблицу:

mysql_query("insert into download values('', '$filen', '$server', '$ops','0')");

В этом скрипте нужно обязательно добавить проверку на расширение закачиваемых файлов, то есть скрипт должен фильтровать все файлы с расширениями *.php; *.php3;*.html;*.htm и т.д. Однако если этим скриптом будет пользоваться только админ, то и не нужно писать никакую фильтрацию. Можно пойти совсем простым путем и сделать фильтрование так, чтобы скрипт принимал только расширение *.rar, — так будет намного проще. Ах да! Здесь нужно добавить еще одну фильтрацию на спецсимволы в переменных: $filen, $server $ops.

Теперь рассмотрим стартовую страницу. На ней будут выводиться ссылки и описания всех добавленных файлов. Принцип работы скрипта похож на принцип работы предыдущего скрипта. Мы так же соединяемся с MySQL, только вместо добавления информации в таблицу мы извлекаем ее и выводим на экран.

..здесь соединяемся с MySQL...

print "<body bgcolor=000000 link=orange alink=orange vlink=orange text=ffffff>";

print "<center><div style=background-color:orange;color:000000>Best soft</div></center>";

….

Теперь возьмем всю информацию из таблицы, то есть мы выполним такой запрос:

$re=mysql_query("select * from download order by uid desc");

Возникает законный вопрос: что такое desc? Рассказываю. Это нужно для того, чтобы тот файл, который был добавлен последним, являлся первым в списке вывода.

Далее все просто: мы перебираем весь архив и выводим его на нашу страничку (листинг 2).

while($res=mysql_fetch_array($re))

{

print "<div style='border-left: 1px orange solid;border-right: 1px orange solid;border-bottom: 1px orange solid;padding:6px'>

<a href='download.php?id=$res[uid]'><b>$res[file]</b></a>

<div class=tekst>$res[ops]<br>

Скачиваний: ($res[click])<br>

</div></div>";

}

При клике на ссылку скрипту download передается параметр id, и скрипт выдирает из таблицы всю нужную информацию.

В скрипте download.php, как всегда, соединяемся с MySQL и выполняем точно такой же запрос, как и в предыдущем скрипте, но здесь необязательно писать desc. Далее снова перебираем весь полученный массив и сравниваем переменную $id, полученную из стартовой страницы. $res[uid] — это уникальные идентификационные номера каждой программки. Если они совпадают, то мы увеличиваем на 1 число, стоящее в таблице в поле click (поле click отвечает за число скачиваний, если ты не забыл) .Потом просто делаем перенаправление на адрес, сгенерированный из таблицы (листинг 3).

while($res=mysql_fetch_array($re))

{

$click = $res[click];// В этой переменной хранится количество скачиваний

Назад на стр. 067-060-1  Содержание  Вперед на стр. 067-060-3