|
|
|
| Здравствуйте.
Я недавно начал читать книгу и на данный момент времени столкнулся с проблемой правильной работы скрипта "счетчик загрузки файлов с сервера" или FileCounter как она названа в книге.
Вопрос в следующем: файл counter.php начинается со следущих строк
<?
$down_file=array();
$down_name=array();
$down_file['test.zip'] = "http://localhost/filecounter/test.zip";
$down_name['test.zip'] = "Имя файла";
if($_GET['down']!="")
{
if (array_key_exists($_GET['down'],$down_file))
{
//соединение с базой даннных
require_once("config.php");
// учитываем закаченный файл
// выясняем первичный ключ (id_page), соответствующий закачиваемоему файлу
$query = "SELECT * FROM files WHERE name='".$_GET['down']."'";
$fls = @mysql_query($query);
.................
Дак вот. Строка if($_GET['down']!=""). Я не могу сообразить, с чем связано слово в квадратных скобках ['down']. До этого мы как бы с ним не работали, а здесь оно уже проверяется!
Из-за этого при загрузке скрипта вылазит следующая ошибка:
Notice: Undefined index: down in z:\home\localhost\www\filecounter\counter.php on line 9
Помогите, кто знает. Наверное вопрос адресован в первую очередь людям, знакомым с данной книгой. Спасибо. | |
|
|
|
|
|
|
|
для: Veli
(20.03.2006 в 14:01)
| | $_GET -это массив, который содержит переменные, типа GET, т.е. переданные через URL. Например : http://site.php?down='wasya.zip'
На стороне сервера в массив $_GET будет добавлена переменная down со значением 'wasya.zip'
Естественно, опросить эту переменную можно и ассоциативно, т.е.:
$per= $_GET['down']
Дык вот, если использовать форму с передачей данных по GET или прямо набрать в адресной строке вашу переменную выше указанным синтаксисом (со знаком вопроса), то все заработает. Судя по вашему примеру, эта переменная должна содержать 'test.zip' | |
|
|
|
|
|
|
|
для: Veli
(20.03.2006 в 14:01)
| | notice является своеобразным советом и выводится, когда выставлена максимальная чувствительность PHP к ошибкам - её следует понизить, как это сделано на всех хостингах, иначе они не дадут работать. Для этого, следует выставить соответствующее значение для директивы error_reporting http://www.softtime.ru/info/articlephp.php?id_article=23, в конфигурационном файле php.ini
error_reporting = E_ALL & ~E_NOTICE
|
Так же можно изменить уровень обработки ошибок локально, для этого в начало скрипта следует поместить функцию
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
?>
|
В качестве параметра, которой передать соответствующий уровень обработки ошибок.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4985 | |
|
|
|