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.

  1. <?php
  2. function vrh_stranice_predlozak()
  3. {
  4.    global $ime_stranice, $opis_stranice, $kljucne_rijeci_stranice;
  5. ?>
  6. <html>
  7.    <head>
  8.    
  9.    </head>
  10.       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  11.       <title><?php echo $ime_stranice ?></title>
  12.       <meta name="description" content="<?php echo $opis_stranice ?>" />
  13.       <meta name="keywords" content="<?php echo $kljucne_rijeci_stranice ?>" />
  14.    <body>
  15.       <div>Vrh stranice</div>
  16. <?php
  17. }
  18.  
  19. function dno_stranice_predlozak()
  20. {
  21. ?>
  22.       <div>Dno stranice</div>   
  23.    </body>
  24. </html>
  25. <?php
  26. }
  27. ?>


e sad napravim još jednu datoteku login_predlozak.php u folderu tema
  1. <?php
  2. function login_stranica_predlozak()
  3. {
  4. ?>
  5. <div>
  6. <form action="" method="post">
  7.    <table width="100%" cellpadding="5" cellspacing="5" border="0">
  8.       <tr>
  9.          <td class="mali_text"><b>Korisničko ime:</b><br /><input size="35" type="text" name="korisnicko_ime" /></td>
  10.       </tr>
  11.       <tr>
  12.          <td class="mali_text"><b>Lozinka:</b><br /><input size="35" type="password" name="lozinka" /></td>
  13.       </tr>
  14.       <tr>
  15.          <td><input type="submit" name="prijavi_se" value="Prijavi se" /></td>
  16.       </tr>
  17.    </table>
  18. </form>
  19. </div>
  20. <?php
  21. }
  22. ?>


i to je npr. dizajn

e sad php kod:

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


i kad sam to napravio radim stranicu za login (login.php)
  1. require'include.php'; //Poziva include.php
  2.  
  3. $ime_stranice='Login stranica'; //Ime stranice.
  4. $opis_stranice='stranica za login'; //Opis stranice.
  5. $kljucne_rijeci_stranice='login, uloguj, prijavi'; //Ključne riječi stranice.
  6.  
  7.  
  8. //Provjerava dali je poslat submit
  9. if(!isset($_POST['prijavi_se']))
  10. {
  11.    
  12.    vrh_stranice_predlozak();
  13.    login_stranica_predlozak();
  14.    dno_stranice_predlozak();
  15.    exit();
  16. }



Š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:

  1. <?php
  2. /*****************************************
  3. * mysql_greske.php                       *
  4. ******************************************
  5. * Autor: Sokolušić Suad                  *
  6. *****************************************/
  7.  
  8. require'include.php'; //Poziva include.php
  9.  
  10. //Provjerava dali je korisnik prijavljen i dali ima status "a" administrator.
  11. if(empty($_SESSION['id_korisnika'])||(provjerava_status_korisnika()!='a'))
  12. {
  13.    header('Location:'.$domena_sajta);
  14.    exit();
  15. }
  16.  
  17. /*Funkcija služi da ispiše ime, opis i ključne riječi na stranici gdje se prikazuju greške.
  18. Funkcija se nalazi u funkcije/funkcije.php */
  19. greske_ime_opis_kljucne_rijeci_stranice();
  20.  
  21. //Provjerava dali je poslato izbriši (id) od mysql greške, ako jest briše tu grešku.
  22. if(isset($_GET['izbrisi']))
  23. {
  24.    $id_greske=(int)$_GET['izbrisi'];
  25.  
  26.    $brise_mysql_gresku="DELETE FROM mysql_greske WHERE id_mysql_greske=$id_greske";
  27.  
  28.    if(!mysql_query($brise_mysql_gresku))
  29.    {
  30.       vrh_predlozak();
  31.       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');
  32.       dno_predlozak();
  33.       exit();
  34.    }
  35. }
  36.  
  37. //Ako je poslato izbrisi_sve, onda briše sve mysql greške iz baze.
  38. if(isset($_GET['izbrisi_sve']))
  39. {
  40.    $brise_mysql_greske_sve="DELETE FROM mysql_greske";
  41.  
  42.    if(!mysql_query($brise_mysql_greske_sve))
  43.    {
  44.       vrh_predlozak();
  45.       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');
  46.       dno_predlozak();
  47.       exit();
  48.    }
  49. }
  50.  
  51. $ime_stranice='Mysql greške - '.$ime_sajta; //Ime stranice.
  52. $opis_stranice='Ovdje se prikazuju mysql greške.'; //Opis stranice.
  53. $kljucne_rijeci_stranice='admin, administracija, mjenja, upravlja, mysql, greške'; //Ključne riječi stranice.
  54.  
  55. //Određuje koliko će se mysql greški prikazivati po stranici.
  56. $granica=(isset($_GET['stranica']))?((max(1,intval($_GET['stranica']))-1)*20).',20':'0,20';
  57.  
  58. $s="SELECT id_mysql_greske, mysql_greska FROM mysql_greske ORDER BY id_mysql_greske DESC LIMIT ".$granica;
  59. $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());
  60.  
  61. //Provjerava dali ima mysql greški u bazi.
  62. if(mysql_num_rows($u)==0)
  63. {
  64.    vrh_predlozak();
  65.    predlozak1('Nema mysql greški u bazi!','» Mysql greške');
  66.    dno_predlozak();
  67.    exit();
  68. }
  69.  
  70. /*Otvara stranicu sa mysql greškama.*/
  71.  
  72. vrh_predlozak();
  73.  
  74. $s1="SELECT id_mysql_greske FROM mysql_greske";
  75. $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());
  76. $r1=mysql_num_rows($u1);
  77.  
  78. mysql_greske_predlozak();
  79.  
  80. dno_predlozak();
  81.  
  82. ?>


HTML:
  1. <?php
  2. /*****************************************
  3. * mysql_greske_predlozak.php             *
  4. ******************************************
  5. * Autor: Sokolušić Suad                  *
  6. *****************************************/
  7.  
  8. /*Funkcija mysql greške predložak*/
  9. function mysql_greske_predlozak()
  10. {
  11.    global $u,$r1;
  12. ?>
  13. <table width="100%" cellpadding="0" cellspacing="0" border="0">
  14.    <tr>
  15.       <td>
  16.  
  17.          <div class="tabla2">
  18.             <div class="tabla2_vrh_lijeva">
  19.                <div class="tabla2_vrh_desna">
  20.                   <table width="100%" cellpadding="5" cellspacing="5" border="0">
  21.                      <tr>
  22.                         <td><b>» Mysql greške</b></td>
  23.                      </tr>
  24.                   </table>
  25.                </div>
  26.             </div>
  27.          </div>
  28. <?php
  29.    while($p=mysql_fetch_array($u))
  30.    {
  31. ?>
  32.          <div class="tabla">
  33.             <div class="tabla_vrh_lijeva">
  34.                <div class="tabla_vrh_desna">
  35.  
  36.                   <table width="100%" cellpadding="5" cellspacing="5" border="0">
  37.                      <tr>
  38.                         <td width="90%"><?php echo $p['mysql_greska'] ?><br /><b>Datum:</b> <?php echo datum_stvaranja_mysql_greske($p['id_mysql_greske']); ?></td>
  39.                         <td width="10%" align="right" valign="bottom" class="mali_text">
  40. <?php
  41.       //Provjerava dali je poslata stranica.
  42.       if(isset($_GET['stranica']))
  43.       {   
  44. ?>                        
  45.                            <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>
  46. <?php
  47.       }else
  48.       {
  49. ?>
  50.                            <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>
  51. <?php
  52.       }
  53. ?>
  54.                         </td>
  55.                      </tr>
  56.                   </table>
  57.  
  58.                </div>
  59.             </div>
  60.          </div>
  61. <?php
  62.    }
  63. ?>
  64.          <div class="tabla2">
  65.             <div class="tabla2_vrh_lijeva">
  66.                <div class="tabla2_vrh_desna">
  67.                   <table width="100%" cellpadding="5" cellspacing="5" border="0">
  68.                      <tr>
  69.                         <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>
  70. <?php
  71.    //Ako ima mysql greški više od 20 prikazuje paginaciju.
  72.    if($r1>20)
  73.    {
  74. ?>         
  75.                         <td align="right">
  76. <?php
  77.       paginacija($r1,20,'mysql_greske.php?'); //Pokreće paginaciju.
  78. ?>
  79.                         </td>
  80. <?php
  81.    }
  82. ?>
  83.                      </tr>
  84.                   </table>
  85.                </div>
  86.             </div>
  87.          </div>
  88.  
  89.       </td>
  90.    </tr>
  91. </table>
  92. <?php
  93. }
  94. ?>


Šta mislite dali ovo valja?

Ko je trenutno na forumu
 

Ukupno su 874 korisnika na forumu :: 15 registrovanih, 1 sakriven i 858 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: -[CoA]-, Fog of War, goran.vvv, Ivan Gajic, Kenanjoz, Kototamopeva, KOV, Marko Marković, Marko987, opt1, Sančo, Shilok, Soncogor, Tas011, vukan0799