Ты отправляешь данные формы методом GET. Соответственно, в адресной строке браузера после отправки формы будет
http: //server.com/index.php ? name=Peter & msg=MyMessage
Если нажать кнопку "Обновить" или "Переход" - сообщение будет записано еще раз. После записи в файл я перенаправляю пользователя на ту же страницу, но без GET-параметров: http://server[dot]com/index.php
P.S. if ( !empty( $_GET["msg"] ) ) { ... }
Фунция empty() возвращает TRUE если переменная не установлена, равна нулю или пустой строке
Кстати, вот это if ( $_GET['msg_log'] == null ) не слишком удачное решение (если вообще рабочее): http://php.su/functions/?is-null
Для NULL-значений не существует понятий "больше", "меньше", "равно".
Что делать, что делать. Не знаю.
Закачанный файл можно сохранить под тем именем, что мне удобно (например md5(time()) ) и создать еще один файл с таким же именем, но приставкой "_" - для хранения оригинального имени файла.
eef27a1a034c45d7452f9dd3701677a6 .mp3
_eef27a1a034c45d7452f9dd3701677a6.txt
Тогда ссылка для скачивания выглядела бы так
<a href="/files/eef27a1a034c45d7452f9dd3701677a6.mp3">Так вот какая ты.mp3</a>
Но это я на скорую руку придумал - можно что-нибудь и получше сделать. Не приходилось мне писать такого скрипта - для обмена файлами.
Я так понимаю, пользователи сами закачивают файлы на сервер и сами их оттуда скачивают. Пользователи - народ темный. Они могут закачивать и файлы с русскими именами. Подобных вольностей допускать нельзя.
Странно ты как-то получаешь значение exp: функция mysql_num_rows() возвращает количество строк результата запроса (это видно даже из ее названия). Вполне логично, если имя пользователя задано правильно - количество возвращаемых строк равно 1 (ведь у тебя нет 2, 3, 4,... пользователей с одинаковыми nick). Если имя пользователя задано неверно - функция mysql_num_rows() возвращает 0 (пользователь с таким nick не найден).
Думаю, этот скрипт надо переписать на JavaScript. Ведь сервер, где физически лежат файлы твоего сайта может быть в Канаде, а пользователь, который просматривает твой сайт - в Новосибирске. А JavaScript использует локальное время на компьютере пользователя.
Загрузить страницу с удаленного сервера можно с помощью функции file_get_contents(). А чтобы получить нужные тебе данные, надо разобрать эту страницу с помощью регулярных выражений. Это не такая легкая задача, как тебе кажется.
По поводу js - думаю можно загрузить страницу в плавающий фрейм iframe и получить доступ к ее содержимому средствами JavaScript.
Оказалось у меня посленяя версия этого денвера, так что спрошу на их форуме.
Посмотрел сегодня на php.net
file_get_contents() доступна для PHP 4 >= 4.3.0, PHP 5
file_put_contents() доступна для PHP 5
Я почему-то думал, что эти функции появились в PHP одновременно. Так что первое предположение было верным - просто у тебя старая версия PHP.
P.S. Кстати, Денвер позволяет устанавливать пакеты расширений, в том числе и PHP5 http://www[dot]denwer[dot]ru/packages/php5[dot]html Только PHP5 ставится в виде внешней CGI-программы, а не в виде модуля Apache, как PHP4.
Кроме того, есть разновидность базового пакета Денвера — Base_PHP5. Дистрибутив содержит: Apache, PHP5, Perl, MySQL, phpMyAdmin, sendmail-заглушка, однако в нем нет PHP версии 4; вместо него — PHP5. Достоинство данного дистрибутива в том, что PHP5 работает в виде модуля Apache, а не в виде CGI-обработчика: http://www[dot]denwer[dot]ru/packages/base_php5[dot]html