Razdvajanje php_a od html_a

Razdvajanje php_a od html_a

offline
  • susok  Male
  • Novi MyCity građanin
  • Pridružio: 03 Sep 2009
  • Poruke: 23
  • Gde živiš: BH

Pozdrav!

Moželi mi neko reći što je potrebno razvajati html od php_a, I dali se može razdvojiti da ne koristim smarty?

Hvala na odgovoru!



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

?

Ako mislis na razdvajanje phpa od htmla u dokumentu, onda se mora razdvojiti sa <?php ?> tagom da bi sam server znao koji kod se izvrsava, a koji ne.



offline
  • Pridružio: 11 Maj 2005
  • Poruke: 871
  • Gde živiš: Aleksinac - Niš

Smarty je najjednostavniji nacin, a potrebno je samo nekoliko sati da se savlada.
A potrebno je odvajati radi preglednosti.
Najcesce onaj ko radi php, ne radi i dizajn, tako da je bolje da se html (dizajn) odvoji od php koda kako programer ne bi poremetio dizajn a dizajner kod.

offline
  • susok  Male
  • Novi MyCity građanin
  • Pridružio: 03 Sep 2009
  • Poruke: 23
  • Gde živiš: BH

a kako je odvojeno na smf forumu u dizajnu ima php koda.

Šta misli te dali valja vako odvajati dizajn od php:

Napravim folder tema i u folder tema datoteku predlozak.php i u tu datoteku dodam vrh (header) i dno (foter) stranice.
<?php function vrh_stranice_predlozak() {    global $ime_stranice, $opis_stranice, $kljucne_rijeci_stranice; ?> <html>    <head>        </head>       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />       <title><?php echo $ime_stranice ?></title>       <meta name="description" content="<?php echo $opis_stranice ?>" />       <meta name="keywords" content="<?php echo $kljucne_rijeci_stranice ?>" />    <body>       <div>Vrh stranice</div> <?php } function dno_stranice_predlozak() { ?>       <div>Dno stranice</div>       </body> </html> <?php } ?>

e sad napravim još jednu datoteku login_predlozak.php u folderu tema
<?php function login_stranica_predlozak() { ?> <div> <form action="" method="post">    <table width="100%" cellpadding="5" cellspacing="5" border="0">       <tr>          <td class="mali_text"><b>Korisničko ime:</b><br /><input size="35" type="text" name="korisnicko_ime" /></td>       </tr>       <tr>          <td class="mali_text"><b>Lozinka:</b><br /><input size="35" type="password" name="lozinka" /></td>       </tr>       <tr>          <td><input type="submit" name="prijavi_se" value="Prijavi se" /></td>       </tr>    </table> </form> </div> <?php } ?>

i to je npr. dizajn

e sad php kod:

u root napravim datoteku include.php i u nju includam predlozke iz tema
error_reporting(E_ALL); include'tema/predlozak.php'; include'tema/login_predlozak.php';

i kad sam to napravio radim stranicu za login (login.php)
require'include.php'; //Poziva include.php $ime_stranice='Login stranica'; //Ime stranice. $opis_stranice='stranica za login'; //Opis stranice. $kljucne_rijeci_stranice='login, uloguj, prijavi'; //Ključne riječi stranice. //Provjerava dali je poslat submit if(!isset($_POST['prijavi_se'])) {        vrh_stranice_predlozak();    login_stranica_predlozak();    dno_stranice_predlozak();    exit(); }


Šta mislite dali valja vako odvajati dizajn od phpa

offline
  • Pridružio: 21 Apr 2007
  • Poruke: 98

Sve zavisi od strukture sajta i logike programiranja.
Ja obično pravim tako što pozovem header.php i footer.php

U header-u se pozivaju sve funkcije, uključujući i jezičke datoteke i stilove.
Zatim pozivam po potrebi fajlove iz template direktorijuma koji obično sadrže HTML kod. U template direktorijumu imam fajl functions.php koji izvršava funkcije za template fajlove i koji se uvek poziva sa template-om.

Takođe, po potrebi kreiram i "mod" direktorijum gde smeštam modove koji se automatski učitavaju i preko funkcije hook-uju (po potrebi) za header, sadržaj, footer, komentar formu, glavni meni, sidebar-ove itd.

offline
  • susok  Male
  • Novi MyCity građanin
  • Pridružio: 03 Sep 2009
  • Poruke: 23
  • Gde živiš: BH

evo vako sam odvojio dizajn na stranici gdje mi se prikazuju mysql greške koje se dese:

PHP kod:
<?php /***************************************** * mysql_greske.php                       * ****************************************** * Autor: Sokolušić Suad                  * *****************************************/ require'include.php'; //Poziva include.php //Provjerava dali je korisnik prijavljen i dali ima status "a" administrator. if(empty($_SESSION['id_korisnika'])||(provjerava_status_korisnika()!='a')) {    header('Location:'.$domena_sajta);    exit(); } /*Funkcija služi da ispiše ime, opis i ključne riječi na stranici gdje se prikazuju greške. Funkcija se nalazi u funkcije/funkcije.php */ greske_ime_opis_kljucne_rijeci_stranice(); //Provjerava dali je poslato izbriši (id) od mysql greške, ako jest briše tu grešku. if(isset($_GET['izbrisi'])) {    $id_greske=(int)$_GET['izbrisi'];    $brise_mysql_gresku="DELETE FROM mysql_greske WHERE id_mysql_greske=$id_greske";    if(!mysql_query($brise_mysql_gresku))    {       vrh_predlozak();       predlozak1('Nije izvršena provjera u bazi!<br /><b>Upit:</b> '.$brise_mysql_gresku.'<br /><b>Mysql greška '.mysql_errno().':</b> '.mysql_error(),'» Greška');       dno_predlozak();       exit();    } } //Ako je poslato izbrisi_sve, onda briše sve mysql greške iz baze. if(isset($_GET['izbrisi_sve'])) {    $brise_mysql_greske_sve="DELETE FROM mysql_greske";    if(!mysql_query($brise_mysql_greske_sve))    {       vrh_predlozak();       predlozak1('Nije izvršena provjera u bazi!<br /><b>Upit:</b> '.$brise_mysql_greske_sve.'<br /><b>Mysql greška '.mysql_errno().':</b> '.mysql_error(),'» Greška');       dno_predlozak();       exit();    } } $ime_stranice='Mysql greške - '.$ime_sajta; //Ime stranice. $opis_stranice='Ovdje se prikazuju mysql greške.'; //Opis stranice. $kljucne_rijeci_stranice='admin, administracija, mjenja, upravlja, mysql, greške'; //Ključne riječi stranice. //Određuje koliko će se mysql greški prikazivati po stranici. $granica=(isset($_GET['stranica']))?((max(1,intval($_GET['stranica']))-1)*20).',20':'0,20'; $s="SELECT id_mysql_greske, mysql_greska FROM mysql_greske ORDER BY id_mysql_greske DESC LIMIT ".$granica; $u=mysql_query($s)or die('Nije izvršena provjera u bazi!<br /><b>Upit:</b> '.$s.'<br /><b>Mysql greška '.mysql_errno().':</b> '.mysql_error()); //Provjerava dali ima mysql greški u bazi. if(mysql_num_rows($u)==0) {    vrh_predlozak();    predlozak1('Nema mysql greški u bazi!','» Mysql greške');    dno_predlozak();    exit(); } /*Otvara stranicu sa mysql greškama.*/ vrh_predlozak(); $s1="SELECT id_mysql_greske FROM mysql_greske"; $u1=mysql_query($s1)or die('Nije izvršena provjera u bazi!<br /><b>Upit:</b> '.$s1.'<br /><b>Mysql greška '.mysql_errno().':</b> '.mysql_error()); $r1=mysql_num_rows($u1); mysql_greske_predlozak(); dno_predlozak(); ?>

HTML:
<?php /***************************************** * mysql_greske_predlozak.php             * ****************************************** * Autor: Sokolušić Suad                  * *****************************************/ /*Funkcija mysql greške predložak*/ function mysql_greske_predlozak() {    global $u,$r1; ?> <table width="100%" cellpadding="0" cellspacing="0" border="0">    <tr>       <td>          <div class="tabla2">             <div class="tabla2_vrh_lijeva">                <div class="tabla2_vrh_desna">                   <table width="100%" cellpadding="5" cellspacing="5" border="0">                      <tr>                         <td><b>» Mysql greške</b></td>                      </tr>                   </table>                </div>             </div>          </div> <?php    while($p=mysql_fetch_array($u))    { ?>          <div class="tabla">             <div class="tabla_vrh_lijeva">                <div class="tabla_vrh_desna">                   <table width="100%" cellpadding="5" cellspacing="5" border="0">                      <tr>                         <td width="90%"><?php echo $p['mysql_greska'] ?><br /><b>Datum:</b> <?php echo datum_stvaranja_mysql_greske($p['id_mysql_greske']); ?></td>                         <td width="10%" align="right" valign="bottom" class="mali_text"> <?php       //Provjerava dali je poslata stranica.       if(isset($_GET['stranica']))       {    ?>                                                    <a href="mysql_greske.php?stranica=<?php echo $_GET['stranica'] ?>&amp;izbrisi=<?php echo $p['id_mysql_greske'] ?>"><img src="tema/slike/tipke/izbrisi.gif" title="Izbriši" alt="" /> Izbriši</a> <?php       }else       { ?>                            <a href="mysql_greske.php?izbrisi=<?php echo $p['id_mysql_greske'] ?>"><img src="tema/slike/tipke/izbrisi.gif" title="Izbriši" alt="" /> Izbriši</a> <?php       } ?>                         </td>                      </tr>                   </table>                </div>             </div>          </div> <?php    } ?>          <div class="tabla2">             <div class="tabla2_vrh_lijeva">                <div class="tabla2_vrh_desna">                   <table width="100%" cellpadding="5" cellspacing="5" border="0">                      <tr>                         <td class="mali_text"><a href="mysql_greske.php?izbrisi_sve"><img src="tema/slike/tipke/izbrisi.gif" title="Izbriši sve" alt="" /> Izbriši sve</a></td> <?php    //Ako ima mysql greški više od 20 prikazuje paginaciju.    if($r1>20)    { ?>                                  <td align="right"> <?php       paginacija($r1,20,'mysql_greske.php?'); //Pokreće paginaciju. ?>                         </td> <?php    } ?>                      </tr>                   </table>                </div>             </div>          </div>       </td>    </tr> </table> <?php } ?>

Šta mislite dali ovo valja?

Ko je trenutno na forumu
 

Ukupno su 668 korisnika na forumu :: 36 registrovanih, 5 sakrivenih i 627 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Battlehammer, djordje92sm, dragon986, dukikan, dzoni19, goxin, ILGromovnik, kovinacc, Lieutenant, marsovac 2, Megapurpletv, mercedesamg, Milos ZA, Misirac, moldway, mushroom, Najax, nemkea71, Oscar2, ozzy, Panter, repac, sabros, stug, Tenk, Tragač, VaRvArI 85, Vlad000, Vlada1389, vlvl, voja64, vranjanac29, W123, Zerajic, zexoni