Poslao: 10 Apr 2011 11:50
|
offline
- susok
- 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.
|
|
Poslao: 10 Apr 2011 12:50
|
offline
- lnenad
- Stručni saradnik
Web
- 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.
|
|
|
|
Poslao: 10 Apr 2011 12:56
|
offline
- stankovic
- Prijatelj foruma
- 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.
|
|
|
|
Poslao: 10 Apr 2011 13:14
|
offline
- susok
- 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
|
|
|
|
Poslao: 10 Apr 2011 14:43
|
offline
- eevan79
- Građanin
- 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.
|
|
|
|
Poslao: 11 Apr 2011 18:32
|
offline
- susok
- 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'] ?>&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?
|
|
|
|