Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Загрузка файлов и счетчик

Сообщения:  [1-4] 

 
 автор: Евгений_М   (23.01.2009 в 11:14)   письмо автору
 
   для: Николай2357   (23.01.2009 в 11:04)
 

ну да это скорее счетчик кликов ну на первое время пойдет!!!

  Ответить  
 
 автор: Евгений_М   (23.01.2009 в 11:11)   письмо автору
 
   для: Николай2357   (23.01.2009 в 11:04)
 

ОООгромное спасибо!!! все работает!!!

  Ответить  
 
 автор: Николай2357   (23.01.2009 в 11:04)   письмо автору
 
   для: Евгений_М   (23.01.2009 в 10:38)
 

Постоянно обновляется, потому что не указан урл, но советую обратить внимание еще на эти поправки:
1. Переменную из массива GET нужно привести в соответствие.
2. Не стоит выводить информацию об ошибках, и тем более о структуре базы, если конечно это не отладочный вариант
3. Использовать лучше header, нежели метатег.
4. Не стоит менять показания счетчика в php. MySQL умеет делать это сам.
5. Струтура немного некорректна, так как изменит показания счетчика вне зависимости от того, удачно прошла загрузка или вообще не прошла.

<?php 
include ("config.php");
$id = isset($_GET['id'])?intval($_GET['id']):null;

$result mysql_query("SELECT link FROM files WHERE id='$id'",$db);

/*if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел.<br><strong>Код ошибки:</strong></p>";
exit(mysql_error());
}*/

if (mysql_num_rows($result) > 0)

{
$myrow mysql_fetch_array($result); 

$update mysql_query("UPDATE files SET counter = counter+1 WHERE id='$id'",$db); 
}
if (
$update)
{
header("location: ".$myrow['link']);
/*echo "<html><head>
<meta http-equiv='Refresh' content='0; URL=$link'>
</head></html>";*/
exit();

}

else
{
echo 
"<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
?>

  Ответить  
 
 автор: Евгений_М   (23.01.2009 в 10:38)   письмо автору
 
 

Здравствуйте!!! У меня не получается следующие:

в файле index.php есть ссылка на файл download.php
(<a href='download.php?id=%s>Загрузить</a>)%s это-id

в download.php след.код

<?php
include ("config.php");
if (isset($_GET['id'])) {$id = $_GET['id'];}

$result = mysql_query("select link,counter from files where id='$id'",$db);

if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел.<br><strong>Код ошибки:</strong></p>";
exit(mysql_error());
}

if (mysql_num_rows($result) > 0)

{
$myrow = mysql_fetch_array($result);

$new_counter = $myrow['counter']+1;
$update = mysql_query("UPDATE files SET counter = '$new_counter' WHERE id='$id'",$db);
}
if ($update)
{

echo "<html><head>
<meta http-equiv='Refresh' content='0; URL=$link'>
</head></html>";
exit();

}

else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
?>

при нажатие на ссылку открывается файл download.php и начинает бесконечно обновляться при этом загрузки файла не происходит, подскажите где допустил ошибку???
Спасибо!!!

  Ответить  

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования