ďťż

[PHP] problem z pobieraniem danych

       

Podstrony


telcocafe

Strona znajduje się w folderze: biblioteka.
Folder biblioteka składa się z:
- bilbioteka.php (plik główny, engine)
- folder dane
- folder sterowniki

W folderze sterowniki znajduje się plik sterownik.php, w którym znajduje

się tablica bazaartow.

W pliku biblioteka.php zawarty jest szablon strony oraz za pomocą funkcji

include ładuję pliki znajdujące się w folderze dane oraz sterowniki.

Ładuję stronę i co ważne ładuję poprzez include (w biblioteka.php) pliki z

folderu dane.

Pytanie polega na tym jak w tych plikach z folderu dane użyć tablicy

bazaartow.
Wogole jej nie czyta!
Jak to mam zrobic?

Dołączam odpowiednie pliki, by każdy mógł się zorientować (fragmenty)

biblioteka.php
==============
<? session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<? $ster="sterowniki/"; session_register(ster);
if(file_exists($ster."sterownik.php")){include($ster."sterownik.php");}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title><? echo "---&gt; $title1 &lt;--- $title2 ---&gt;"; ?></title>
</head><body xml:lang="pl">

<?//Ładuje dzial lub art likwidujac bledy odczytu
$artykul=$bazaart[$dzial.$art][plik]; if(!file_exists($artykul)){$artykul=$art.".php";}
echo zaladuj("dane/".$menu[0][$gigadzialnr]."/".$katalog[$dzial].$ artykul); ?>

wstep.php z folderu dane (jest include do biblioteka.php)
==============
<table border="0" cellpadding="0" cellspacing="0" style="width: 300px;"><tbody><tr><td><hr class="hrmm" /></td></tr>
<!-- NR --><tr><td><? $artek="debowezwoje"; echo ahrefart($dzial,"'Dębowe Zwoje'",$artek,"artyd","","Historia Karczmy Pod Wszechwiędzącym Dębem",""); ?><br />
<span class="opis">[Autor: <a class="opis1"><? echo $bazaart[$dzial.$artek][autor]."aa"; ?></a>]</span><br /><br /></td></tr><tr><td>
<? echo $bazaart[$dzial.$artek][opis]."aa"; ?>
<br /></td></tr><tr><td><hr class="hrmm" /></td></tr><!-- end NR -->
<tr><td><br /></td></tr></tbody></table>

sterownik.php
==============
<?

//Baza artów => Obsługuje tylko środek szablonu (czyli tam, gdzie wkleja się arty).
//Pobranie danych: z URL dane są szukane w bazaart, a następnie ładowany jest w include plik z bazaart

$bazaart=array(
//GIGADZIAŁY
$menudzialpozycja1."biblioteka"=>array("dzial"=>$menudzialpozycja1, "plik"=>$art.".php","tytul"=>"Witaj wędrowcze","autor"=>"tomaszteo","opis"=>"a"),
$menudzialpozycja2."thrpl"=>array("dzial"=>$menudzialpozycja2," plik"=>$art.".php","tytul"=>"".$menu[$gigadzialnr][$ dzialreal]." => INDEKS","autor"=>"tomaszteo","opis"=>"a"),
$menudzialpozycja3."reklama"=>array("dzial"=>$menudzialpozycja3," plik"=>$art.".php","tytul"=>"".$menu[$gigadzialnr][$ dzialreal]." => INDEKS","autor"=>"tomaszteo","opis"=>"a"),
//Wstepy do kazdego dzialu
$dzial."wstep"=>array("dzial"=>$dzial,"plik"=>" wstep.php","tytul"=>"".$menu[$gigadzialnr][$dzialreal]." => INDEKS","autor"=>"tomaszteo","opis"=>"a"),

//Lista artow z dzialu nowosci
$nowosci."debowezwoje"=>array("dzial"=>$nowosci,"plik"=> "debowezwoje.php","tytul"=>"\"DĘBOWE ZWOJE\"","autor"=>"tomaszteo","opis"=>"a" ),

//Lista artow z dzialu opowiadania
$opow."luxintenebris"=>array("dzial"=>$opow,"plik"=> "luxinteberis.php","tytul"=>"\"LUX IN TENEBRIS\"","autor"=>"tomaszteo","opis"=>"a" ),

);
?>

================
Jak w pliku wstep.php użyć tablicy bazaart z sterownik.php ??????

Z góry dziękuję za odpowiedź

ps. sorry za drobne błędy




<? $ster="sterowniki/"; session_register(ster);
if(file_exists($ster."sterownik.php")){include($ster."sterownik.php");}
?>


Nie masz przypadkiem ustawionego register_globals na off?

A zrób tak:
    l W katalogu biblioteka (tam, gdzie jest plik biblioteka.php) zrób plik PHP o zawartości:
    <? include 'sterowniki/sterownik.php'; var_dump($bazaart); ?>
    l
    l Wrzuć efekt na forum w codebox.l




Problem tyczy sie dokladnie sciezek.
Ciekawostka jest, iz jak ujme w funkcje pewne elementy, to sa dostepne w include pliku.
Jesli bedzie to zmienna, to nie zalapie.

ps. troche glupio brzmi "inclede pliku", ale oddaje sens.

Rozwiazalem to w sposob dosc prosty:
strona z szablonem jest w tym samym miejscu gdzie includowane pliki.
Dzieki temu sciezki sie zgadzaj i wszystko dziala jak powinno :D

Jakbym uzyl parsera, to tego problemu by nie bylo, ale coz jeszcze(!) go nie nauczylem sie.

Dziekuje dodek za pomoc!

array(5) {
["newsindeks"]=>
array(3) {
["plik"]=>
string(15) "news_indeks.php"
["tytul"]=>
string(17) "Nowo&para;ci => INDEKS"
["autor"]=>
string(9) "tomaszteo"
}
["gigadzialbiblioteka"]=>
array(3) {
["plik"]=>
string(24) "gigadzial_biblioteka.php"
["tytul"]=>
string(15) "Witaj wędrowcze"
["autor"]=>
string(9) "tomaszteo"
}
["gigadzialthrpl"]=>
array(3) {
["plik"]=>
string(19) "gigadzial_thrpl.php"
["tytul"]=>
string(25) "gigadzial thrpl => INDEKS"
["autor"]=>
string(9) "tomaszteo"
}
["gigadzialreklama"]=>
array(3) {
["plik"]=>
string(21) "gigadzial_reklama.php"
["tytul"]=>
string(27) "gigadzial reklama => INDEKS"
["autor"]=>
string(9) "tomaszteo"
}
["newszwojenicosci"]=>
array(5) {
["plik"]=>
string(21) "news_zwojenicosci.php"
["tytul"]=>
string(14) "'Zwoje Nico&para;ci"
["autor"]=>
string(9) "tomaszteo"
["data"]=>
string(16) "09 wrzesień 2005"
["opis"]=>
string(73) "Nowo&para;ci przerabione na opowiadanie zawieraj&plusmn;ce w sobie historię Twierdzy."
}
}
ps. wrzuciłem to z Notatnika stąd te krzaki

OK HURA !!!!!

Rozwiązanie:

w include pliku należy umieścić taki wpis:
<?
global $bazaart; global $bazaautor; global $dzialname;
?>

ZAŁATWIONE :D

ps. jak to jest:
główny plik (szblon) ma w sobie include (jakiś plik a.php)
To czemu plik a.php pomimo, że jest ładowany do szablonu, nie zgarnia wszystkich zmiennych z szablonu?

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.