Aici, in a treia parte din acest tutorial sunt prezentate fisierele "index.php" si "grafic.css".
index.php - e fisierul care afiseaza continutul site-ului. In partea de sus a paginilor sunt afisate categoriile, meniurile principale din site. Iar in corpul paginii: in partea stanga e un meniu in care sunt afisate link-urile paginilor corespunzatoare fiecarei categorii si in centru se afiseaza continutul celei accesate.
Acest fisier trebuie creat in directorul root al site-ului (www sau httpdocs). In el sunt 2 categorii distincte de cod: scriptul PHP si codul HTML cu layout-ul site-ului.
Scriptul PHP include la inceput fisierul "admin.php", dupa care sunt definite variabilele cu datele initiale care vor fi incluse in codul HTML, pentru meniuri, nume pagina, titlul, descrierea si cuvintele cheie, apoi, in functie de pagina apelata, aceste date sunt modificate cu cele care apartin paginii respective, si care sunt preluate din MySQL.
O alta treaba pe care trebuie sa o faca scriptul din acest fisier este crearea link-urilor pentru meniuri si pagini. Adauga numele paginilor preluate din tabelul MySQL intr-o matrice, apoi parcurge aceasta matrice si formeaza cate un link cu fiecare nume, avand adresa URL de forma "index.php?p=nume_pagina". Astfel, ca sa stie ce pagina sa fie afisata cand e accesat un link, scriptul verifica valoarea variabilei $_GET['p'], care e numele paginii si care a fost folosit atat in tabelul MySQL cat si la fisierul in care e salvat continutul iei.
Ultima operatie din acest script e definirea meniului cu principalele categorii, care sunt afisate in top-ul paginii. Pentru aceasta se foloseste functia "get_meniu()" din "admin.php", datele returnate de aceasta fiind o matrice cu numele categoriilor. Se parcurge aceasta matrice si fiecare nume e adaugat in cod HTML.
Dupa scriptul PHP urmeaza codul HTML cu template-ul site-ului. Acesta preia variabilele setate in script, pentru titlu, descriere, cuvinte cheie, meniu principal, paginile din meniul curent si numele fisierului in care e continutul ce trebuie afisat. Aceste variabile au nume fixe, oricare ar fi pagina accesata, si datele din ele pot fi afisate cu instructiunea "echo", astfel, puteti modifica oricand template-ul site-ului si sa schimbati locul afisarii acestor elemente dupa cum doriti.
Veti observa ca scriptul complet din acest tutorial nu are si o grafica definita (doar superficial), asta o face fiecare dupa cum vrea, obiectul acestei lectii fiind partea de programare PHP.
Iata si codul complet din "index.php"
<?php // Exemplu creare site cu PHP, de la https://marplo.net/ // Include fisierul cu datele pt. conectare la MySQL include('admin.php'); // Creaza variabilele folosite in template-ul paginii $meniuri_html =''; $pagini_html =''; $titlu ='Titlu pt. pagina principala, index'; $desc ='Descriere pt. pagina principala, index'; $cuv_key ='Cuvinte, cheie, pagina, principala, index'; // Daca sunt primite date prin $_GET, cu indice 'p' if(isset($_GET['p'])){ // Adauga valoarea intr-o variabila, eliminand spatii exterioare cu trim() // si decodand-o cu urldecode() deoarece acel sir din adresa URL este adaugat cu urlencode() $pag = urldecode(trim($_GET['p'])); // Preia din sir, cu explode(), primul cuvant (cuvinte) dinainte de '-', cu indice [0] // deoarece acesta e numele meniului (categoriei), necesar pt. Selectarea din MySQL a paginilor din meniu $sir = explode('-', $pag); $meniu = $sir[0]; // Deoarece la adaugarea in tabele, datele au fost filtrate cu functia filtr_sql(), creata in admin // Aplica acelasi filtru si variabilelor $pag si $meniu, necesare pt. Select in tabel $pag = filtr_sql($pag); $meniu = filtr_sql($meniu); // Selecteaza din MySQL paginile care apartin categoriei, meniului transmis in adresa URL $sql ="SELECT * FROM `pagini` WHERE meniu='$meniu'"; $result = $conn->query($sql); if($result->num_rows == 0) echo '0 rezultate'; else { while($rand = $result->fetch_assoc()){ // Preia numele si titlul pagiilor care sunt in meniul accesat // unde numele din coloana pt. pagini e diferit de numele meniului if($rand['pagina']!=$meniu){ // Elimina caracterele '\' care au fost adaugate de real_escape_string() $pg_titlu[] = stripslashes($rand['titlu']); $pg_nume[] = stripslashes($rand['pagina']); } // Preia numele paginii apelate, titlu, descriere, cuvinte cheie si data // unde randul din tabel are datele paginii accesate if($rand['pagina']==$pag){ $titlu = stripslashes($rand['titlu']); $desc = stripslashes($rand['descriere']); $cuv_key = stripslashes($rand['cuv_key']); $pagina = stripslashes($rand['pagina']); $data = stripslashes($rand['data']); } } } } $meniuri = get_meniu(); // Apeleaza functia din admin.php pt. obtinerea meniurilor (categoriile) din Top // Creaza codul HTML cu meniurile $meniuri_html ='<ul><li><a href="index.php" title="Pagina Principala">Pagina Principala</a> </li>'; // Daca matricea cu meniurile contine cel putin un meniu adaugat if(count($meniuri)>0 && !empty($meniuri[0])){ for($i=0; $i<count($meniuri); $i++){ // Cu ucfirst() face prima litera din meniu sa fie Majuscula // Cu str_replace inlocuieste '_' din numele meniului cu spatiu $n_meniu = ucfirst(str_replace('_', ' ', $meniuri[$i])); $meniuri_html .='<li><a href="index.php?p='.$meniuri[$i].'" title="'.$n_meniu.'">'.$n_meniu.'</a></li>'; } } $meniuri_html .='</ul>'; // Inchide codul HTML pt. aceste meniuri // Creaza codul HTML cu paginile din categoria curenta, daca acestea exista, pt. meniul din stanga if(isset($pg_nume)){ $nrpgs = count($pg_nume); //numar de pagini in categorie $pagini_html = '<ul id="pagini">'; for($i=0; $i<$nrpgs; $i++){ $pagini_html .='<li><a href="index.php?p='.$pg_nume[$i].'" title="'.$pg_titlu[$i].'">'.ucfirst($pg_titlu[$i]).'</a></li>'; } $pagini_html .='</ul>'; } // In continuare, codul HTML in care se adauga si variabilele necesare generate de PHP ?> <!doctype html> <html lang="ro"> <head> <meta charset="utf-8" /> <title><?php echo $titlu; ?></title> <meta name="description" content="<?php echo $desc; ?>" /> <meta name="keywords" content="<?php echo $cuv_key; ?>" /> <meta name="robots" content="index, follow" /> <link href="grafic.css" rel="stylesheet" type="text/css" /> </head> <body> <!-- Start Top pagina --> <div id="top"> <h1>Sectiunea din top-ul paginii</h1> <div id="meniu"> <?php echo $meniuri_html; ?> </div> </div> <!-- Start Corp pagina --> <div id="corp"> <!-- Start Meniul cu paginile --> <div id="meniu_p"> <h4>Pagini</h4> <?php echo $pagini_html; ?> </div> <!-- Start Context --> <div id="context"> <?php // Daca e setata o valoare pt. variabila $pagina, // Variabila definita prin Selectul din MySQL, si contine numele paginii, pt. adresa ei if(isset($pagina)){ // Afisaza data la care a fost creata psgina, preluata din MySQL echo '<em>'.date('j-F-Y ', $data).'</em><br>'; // Include fisierul in care e continutul readfile('pagini/'.$pagina.$ext); } else { // Daca nu e apelat vreun link din meniu sau pagini, Afiseaza continutul pt. pagina 'index' // Il puteti crea cu 'echo' ori sa-l includeti din alt fisier extern echo "<h3>Continut initial pentru pagina index</h3> <h3>Creati cu 'echo' tag-urile HTML sau includeti continut din alt fisier extern,<br> cu include('fisier.php') sau readfile('fisier.html')</h3>"; } ?> </div> </div> <!-- Start Subsol pagina --> <div id="subsol"> <a href="add_del.php" title="Admin"><em><b>Admin</b></em></a> <h4>Continutul din subsolul paginii</h4> <h4>Va apare in toate paginile site-ului</h4> </div> </body> </html>
body { margin:0px auto; width:1000px; background-color:#e8e8fe; text-align:center; } /* Grafica pentru sectiunea Top */ #top { margin:2px auto; position:relative; border:1px solid #ceceda; background-color:#dedeee; } /* Grafica pentru sectiunea Corp */ #corp { position:relative; margin:2px auto; width:100%; border:1px solid #eeeefe; background-color:#ededfe; text-align:left; } /* Grafica pentru Meniu principal */ #meniu { position:relative; margin:2px auto; border:1px solid #dafedf; background-color:#deefee; padding-left:5px; } #meniu ul { margin:0px; background-color:#cceede; list-style:none; padding:0px 0px 1px 5px; } #meniu ul li { display:inline; margin:1px 3px; border:1px solid silver; padding:3px; } #meniu ul li a { margin:0px; border:1px solid #daccfe; } #meniu ul li a:hover { background-color:#ebede0; } /* Grafica pentru meniul din stanga */ #meniu_p { float:left; position:relative; width:240px; border:1px solid green; padding:2px } /* Grafica pentru Context */ #context { min-height:200px; margin:0px 1px 1px 260px; padding:3px 5px; } /* Grafica pentru sectiunea Subsol */ #subsol { clear:both; position:relative; margin:2px auto; border:1px solid #ceced8; background-color:#ebede0; z-index:10; }
<ul> <li>http://coursesweb.net/html/</li> <li>http://www.marplo.net/html/</li> </ul>
.some_class { display: list-item; }
var obj = { "courses": ["php", "javascript", "ajax"] }; var jsonstr = JSON.stringify(obj); alert(jsonstr); // {"courses":["php","javascript","ajax"]}
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>'; $dochtml = new DOMDocument(); $dochtml->loadHTML($strhtml); $elm = $dochtml->getElementById("dv1"); echo $elm->nodeValue; // CoursesWeb.net
I`m living here. - Traiesc /Locuiesc aici.
Estoy viviendo aquĆ. - Traiesc /Locuiesc aici.