| Macaque | Tema paskelbta: 2010-03-07 21:15:16 |
|---|---|
Dažnas lankytojas |
Gal kas galetumete padaryti pavizdi kaip su PHP is masyvo atvaizduoti informacija kituose puslapiuose? PHP pagrindus moku, bet jeigu pasidarau mini PHP puslapiuka, su include() f-cija pasiemu navigacijos faila (link'us), kaip is masyvo paimti info ir ja pateikti kitame psl. ? Cia jeigu nesupratote, tai kaip padaryti, kad nereiktu kiekvienam atskiram psl kurti atskirto failo, kito psl. informacijai. (xHTML/CSS psl.) Pavyzdys: kazkas manau panasaus i sita ?lan=lt&id=2 Ar taip neimanoma ir kekvieno psl. informacija reiktu saugoti .txt failuose ar duomenu bazei? |
|
|
Atsakymai į temą |
|
| adijux |
Atsakymas parašytas: 2010-03-07 21:44:19
[ #898 ]
|
Svetainės administratorius |
Nežinau, ar teisingai supratau, tačiau pabandysiu paaiškinti. Tarkime, kad visi puslapiai turės tokią pat dizaino struktūrą, taigi bendrai turėsime tik vieną atvaizdinį failą. Jį šiuo atveju pavadinkime layout.php. <html> <head> <title></title> </head> <body> <div id="header"></div> <div id="menu"> <?php echo get_menu(); ?> </div> <div id="content"> <?php echo get_content(); ?> </div> </body> </html> Toliau būtų pravartu turėti atskirą php failą, kuriame saugomos sukurtos funkcijos. Pavadinkime šį failą functions.php. <?php
function get_menu()
{
$output = '<ul>';
// Tarkime, kad čia jau prisijungėme prie duomenų bazės arba nuskaitėme duomenų failą.
// Įsivaizduokime, kad turime tokį masyvą.
$menu_array = array(
array(
'id' => 1,
'title' => 'Pagrindinis',
'content' => 'Pagr. puslapio tekstas. <br /><br />'
),
array(
'id' => 2,
'title' => 'Apie mane',
'content' => '<img src="images/as.png" alt="Tai aš" /><br /><br />Puslapis apie mane'
));
// „Sulipdome“ masyvo duomenis į vieną kintamąjį.
foreach($menu_array as $item)
{
$output .= '<li><a href="index.php?id='. $item['id'] .'">'. $item['title'] .'</a></li>';
}
$output .= '</ul>';
// Baigę „lipdyti“ meniu struktūrą, išvedame kintamąjį (vėliau jį išspausdinsime su funkcija echo()).
return $output;
}
function get_content()
{
// Atitinkamo puslapio informaciją paimame pagal id (index.php?id=).
$page_id = $_GET['id'];
/* Vyksta duomenų paėmimas, pav.:
$query = mysql_query("SELECT * FROM `pages` WHERE `id` = '". $id ."' ORDER BY `id` ASC");
$page = mysql_fetch_array($query);
*/
// Išvedame puslapio informaciją, kurią vėliau išspausdinsime.
return $page['content'];
}
?> Na, ir viską suvedame į index.php failą. <?php
/* Tai pagrindinis failas (index.php), kuriame vyksta visų reikalingų failų įkėlimas (include'inimas).
Čia taip pat galime prisijungti prie duomenų bazės, užkrauti konfigūracijos failus ir pan.
*/
// Užkrauname savo funkcijas, kurios bus reikalingos šablono faile (layout.php).
include('functions.php');
// Užkrauname šablono failą.
include('layout.php');
?> Pavyzdys labai elementarus, turintis begalę saugumo spragų, tačiau visko detaliai parodyti negaliu. Čia svarbu pats principas. |
|
|
| Macaque |
Atsakymas parašytas: 2010-03-08 15:13:14
[ #899 ]
|
Dažnas lankytojas |
Taip, didelis ačiū tau |
|
|
Jei aktyviai domiesi kompiuterinės grafikos naujovėmis, web dizainu, svetainių kūrimu,
užsiprenumeruok E-grafika.lt turinį per RSS!
Nori pareikšti savo nuomonę? Peržiūrėti video pamokas?
Gauti tik nariams prieinamų resursų? Sužinoti apie naujienas pirmasis?
Tada registruokis!
Jeigu jau esi užsiregistavęs, prisijunk ir diskutuok forumuose, komentuok naujienas,
straipsnius, video pamokas, bendrauk su kitais bendruomenės nariais!
Diskusijų forumai
Diskusijų forumai » Pagrindinės diskusijos » Svetainių kūrimas ir priežiūra » PHP - Puslapiavimas
