Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > работа ф-ии с внешними переменными


Автор: Spy 24.11.2003, 23:13
Привет всем smile.gif.
Я вот пришел со своими проблемами, решил вас помучить :о))).
значит проблема заключаеться в следуйщем:
- есть файл options.php в папке admin
- есть файл options.php в папке news
есть файл index.php
содержимое файлов:

admin/options.php
$newsdirpath="news";
news/options.php
$datfile="news/news.dat";
index.php
Код
<?php #тут вся (ж|п)опа начинается:
include("admin/options.php");
include("$newsdirpath/options.php");
$file=file("$datfile");
$total=count($file);
function news(){
global $total, $datfile;
# на всякий случай сделал глобальными эти переменные. :^)
if ($total>0){
#цикл который читает файл $datfile и выводит его содержимое, в зависимости от значениея $perpage =)
}else{
echo "no news, sry";
}
}

мне постоянно показываеть, что новостей нет. я пихал определение переменных $file,$total в функции, но везде одно и тоже. не хочет взаимодействовать sad.gif.
объясню, почему я все так криво сделал (я про переменные, распределенные по разным файлам):
чтобы легче было менять настройки smile.gif. для каждого раздела, свои настройки :Р.
вообщем у каждого психа, свои замашки... у кого есть мысли по этому поводу? :\
есть еще ф-ия archive() ,del(),edit(). последние две выводяться только "своим" людям. я сначало весь код в одном файле вместе держал, но например в редактировании мессага, у меня новости показывались как на главной, под формой редактирования. И так и сяк пытался сделать. не идет. распихал всё по функциям и распределил через switch(); для каждой переменной - своя функция (?do=edit = edit() и тд).

вообщем хелп.. уже не знаю сколько блуждаю в поисках ответа

Автор: Vaulter 25.11.2003, 08:03
Spy
попробуй повыводить переменные:
echo $datfile;
echo $total;
и посмотреть че в них

Автор: Spy 25.11.2003, 17:04
давно уже сделал. выводятся все параметры:
$newsdirpath - news
$datfile - news/news.dat
$total - 6

Автор: pascal 26.11.2003, 13:27
1.
Код
$file=file("$datfile");

пишется так
Код
$file=file($datfile);

2.
Код
$total=count($file);

пишется так
Код
$total=sizeof($file);

3.
Код
global $total, $datfile;

меняешь на
Код
global $total, $file;


за место вывода новостей попробуй поставить конструкцию
var_dump($file);
и увидишь что у тя там в этом файле...
и к тому же будь повнимательней biggrin.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)