Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Duplira naziv menija iz INC fajla

[es] :: PHP :: Duplira naziv menija iz INC fajla

[ Pregleda: 3714 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
77.46.241.*



+7 Profil

icon Duplira naziv menija iz INC fajla04.04.2010. u 06:10 - pre 171 meseci
Radim inc fajl koji ce da generise HTML kod koji cu da uvozim sa funkcijom
Code:

require ();

to ce mi sluziti kao zadani izgled koji cu samo da uvozim u sripte da ne bi pravio zasebno...

problem je to sto mi pokazuje duplirani naziv menija... znaci imam meni


POCETNA | O NAMA | USLUGE | KONTAKT

a on meni na kraju kao rezultat ovako prikaze


pocetnaPOCETNA | o namaO NAMA | uslugeUSLUGE | kontaktKONTAKT

Sve ostalo radi fenomenalno bas kako sam zamislio samo eto meni malo koci!!!


Code:

<?php
class strana
{
  // Dodela Atributa Klase (STRANA)
  
  public $sadrzaj;
  public $title = 'Ivan Stojmenovic';
  public $keywords = 'Neodredjene kljucne reci jos uvek';
  public $dugmici = array( 'pocetna'     => 'pocetna.php', 
                        'onama'  => 'onama.php', 
                        'usluge' => 'usluge.php', 
                        'kontak' => 'kontakt.php'
                      );

  // Pocetak Operacije Klase (STRANA)
  public function __set($name, $value)
  {
    $this->$name = $value;
  }

  public function Prikazi()
  {
    echo "<html>\n<head>\n";
    $this -> PrikaziTitle();
    $this -> PrikaziKeywords();
    $this -> PrikaziStyles();
    echo "</head>\n<body>\n";
    $this -> PrikaziHeader();
    $this -> PrikaziMenu($this->dugmici);
    echo $this->sadrzaj;
    $this -> PrikaziFooter();
    echo "</body>\n</html>\n";
  }

  public function PrikaziTitle()
  {
    echo '<title> '.$this->title.' </title>';
  }

  public function PrikaziKeywords()
  {
    echo "<meta name=\"keywords\" sadrzaj=\"$this->keywords\" />";
  }

  public function PrikaziStyles()
  { 
?>   
  <style>
    h1 {color:black; font-size:24pt; text-align:center; 
        font-family:arial,sans-serif}
    .menu {color:black; font-size:12pt; text-align:center; 
           font-family:arial,sans-serif; font-weight:bold}
    td {background:white}
    p {color:black; font-size:12pt; text-align:justify; 
       font-family:arial,sans-serif}
    p.foot {color:black; font-size:9pt; text-align:center; 
            font-family:arial,sans-serif; font-weight:bold}
    a:link,a:visited,a:active {color:black}
  </style>
<?php
  }

  public function PrikaziHeader()
  { 
?>   
  <table width="100%" cellpadding ="12" cellspacing ="0" border ="0">
  <tr bgcolor ="#000000">
    <td align ="left"><img src = "logo.png" width="200" height="100" /></td>
    <td>
        <h1>Content Menagment Sistem</h1>
    </td>
  </tr>
  </table>
<?php
  }

  public function PrikaziMenu($dugmici)
  {
    echo "<table width='100%' bgcolor='black' cellpadding='4' 
                cellspacing='4'\n";
    echo "  <tr>\n";

    //Izracunaj velicinu dugmeta ($dugmici)
    $width = 100/count($dugmici);

    while (list($name, $url) = each($dugmici))
    {
      $this -> PrikaziButton($width, $name, $url, !$this->IsURLCurrentpage($url));
    }
    echo "  </tr>\n";
    echo "</table>\n";
  }

  public function IsURLCurrentpage($url)
  {
    if(strpos($_SERVER['PHP_SELF'], $url )==false)
    {
      return false;
    }
    else
    {
      return true;
    }
  }

  public function PrikaziButton($width, $name, $url, $active = true)
  {
    if ($active)
    {
      echo "<td width ='$width%'>
            <a href ='$url'>
            <img src ='s-logo.gif' alt ='$name' border ='0' /></a>
            <a href ='$url'><span class='menu'>$name</span></a></td>";
    }  
    else
    {
      echo "<td width ='$width%'>
            <img src ='side-logo.gif'>
            <span class='menu'>$name</span></td>";
    }  
  }

  public function PrikaziFooter()
  {
?>
    <table width = "100%" bgcolor ="black" cellpadding ="12" border ="0">
    <tr>
      <td>
        <p class="foot">&copy; 2010. Ivan Stojmenovic</p>
      </td>
    </tr>
    </table>
<?php
  }
}
?>



Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Duplira naziv menija iz INC fajla04.04.2010. u 14:05 - pre 171 meseci
Citat:
alfa-pro

Code:

<?php
class strana
{

  public function PrikaziMenu($dugmici)
  {
    echo "<table width='100%' bgcolor='black' cellpadding='4' 
                cellspacing='4'\n";
    echo "  <tr>\n";



<table> element nisi zatvorio, probaj to pa javi.

I btw, ako ovako zamisljas OOP, malkice si pogresio

Code:

    if(strpos($_SERVER['PHP_SELF'], $url )==false)
    {
      return false;
    }
    else
    {
      return true;
    }


se pise ovako:
Code:

return strpos($_SERVER['PHP_SELF'], $url) ;


ili ako bas moras true i false (mada nema neke potrebe):
Code:

return strpos($_SERVER['PHP_SELF'], $url) ? true : false ;
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: Duplira naziv menija iz INC fajla06.04.2010. u 07:20 - pre 171 meseci
dobro zatvorio table tag.,.. nije do toga bilo pokusao sam i tvoj primer isto je sve bez ikakvih promena..

pazi ovo kada sam sklonio $url posto sam ga 2x pozvao kroz funkciju sve normalno radi


Code:

  public function PrikaziButton($width, $name, $url, $active = true)
  {
    if ($active)
    {
      echo "<td width ='$width%'>

            <a href ='$url'>   <=================<<<<

            <img src ='s-logo.gif' alt ='$name' border ='0' /></a>
            <a href ='$url'><span class='menu'>$name</span></a></td>";
    }  

Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.dynamic.isp.telekom.rs.



+218 Profil

icon Re: Duplira naziv menija iz INC fajla07.04.2010. u 19:33 - pre 171 meseci
Citat:
mitke013
I btw, ako ovako zamisljas OOP, malkice si pogresio :)


Kako ti zamisljas OOP?
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Duplira naziv menija iz INC fajla08.04.2010. u 11:45 - pre 171 meseci
Citat:
VladaSu: Kako ti zamisljas OOP?

OOP nije gomilanje funkcija na jedno mesto pa se to mesto nazove klasom. Objekat moze nesto da uradi, a ne samo da drzi funkcije; za tako nesto moze se koristiti i include fajla koji ce ih drzati.

Najjednostavnije objasnjenje:
tvoj program je komandir kasarne. Imas klasu vojnik, zastavnik, kapetan....

Tebi kapetan treba da organizuje jedan od visoko-intelektualnih zahteva tipicnih za vojsku; ciscenje piste, skupljanje lisca ili nesto slicno.

Code:

$captain = Captain::getAvailable() ;

Nema parametara. Klasa ce naci slobodnog kapetana tj. onaj koji je trenutno tu i nema zaduzenja.

Code:

$captain->cleanEverything() ;


Opet nema parametara. Kapetan ce dalje da organizuje taj posao. On ce naci slobodne vojnike na slican nacin i podeliti naredjenja. Pritom:
Code:

$soldier_1->cleanLeaves() ;
$soldier_2->cleanRanaway() ;
//itd

Vojniku treba metla; moglo je znaci i ovako:
Code:

$broom = Broom::getAvailable() ;
$soldier_1->cleanLeaves($broom) ;

Ali sto bi kapetan vojniku davao metlu; nije debil, moze i sam da je nadje. Pritom, ako jednog dana se kasarna modernizuje i dobije onaj kompresor sto oduva lisce, komanda vise nije validna. Ako se vratimo u programske vode, to znaci da bi svuda gde kapetan daje vojniku metlu ili nesto drugo, moralo da se promeni. Lakse je nauciti vojnika da se sam snadje:
Code:

class Soldier extends BasicMilitaryUnit
{
  public function cleanLeaves()
  {
    $cleaningDevice = $this->getCleaningDevice() ;
    // ocisti lisce koristeci $cleaningDevice 
  }

  protected function getCleaningDevice()
  {
    return Broom::getAvailable() ;
  }
}

Static metode je uvek lakse prepraviti nego dinamicke. Uvek ih je manje, a ako je protected, automatski znas da se ta metoda ne poziva ni sa jednog drugog mesta i da ne treba da juris kroz ceo program da proveris pozive.

Sve ove klase nasledjuju BasicMilitaryUnit klasu jer je za svo vojnicko osoblje identicno da treba da jedu, srede ujutru, obuju se, izadju na smotru itd. Da ne bi to isto pisali za svakog, lakse je staviti na jedno mesto.

Jos jedan primer nasledjivanja; u vojsci se belezi skoro svaki obavljeni posao. Posto to programer zna od pocetka, u svakoj metodi koja zahteva izvestaj na kraju ce pozvati:
Code:
  public function cleanLeaves()
  {
    $cleaningDevice = $this->getCleaningDevice() ;
    // ocisti lisce koristeci $cleaningDevice 

    $this->writeReport('Ocistio sam lisce') ;
  }

a BasicMilitaryUnit ima metodu:
Code:

abstract class BasicMilitaryUnit 
{
  protected function writeReport($report)
  {
    $name = $this->getName() ;
    $rank = $this->getRank() ;
   // snimi izvestaj koristeci tekst raporta, za ime i cin se metoda sama snasla
  }
}

OK? Nije; na ovaj nacin klasa vojnik prosledjuje fixni tekst. Ako se taj tekst negde snima (baza) i jednog dana tekst promeni, baza ce imati razlicite tekstualne vrednosti za isti posao. Bolje je:
Code:
  public function cleanLeaves()
  {
    $cleaningDevice = $this->getCleaningDevice() ;
    // ocisti lisce koristeci $cleaningDevice 

    $this->writeReport(Report::LEAVES_CLEANED) ;
  }


Sad se koristi konstanta iz klase Report. Neka je vrednost const LEAVES_CLEANED = 1 ; Mi ce tu vrednost da snimimo u bazu; na osnovu tog broja se tekst raporta moze menjati bez problema, lokalizovati itd.

Koliki posao oko obicnog lisca



[Ovu poruku je menjao mitke013 dana 08.04.2010. u 16:58 GMT+1]

[Ovu poruku je menjao mitke013 dana 08.04.2010. u 17:16 GMT+1]
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
*.mbb.telenor.rs.



+303 Profil

icon Re: Duplira naziv menija iz INC fajla08.04.2010. u 14:55 - pre 171 meseci
Znam da je offtopic ali moram da kazem:
Zeljko svaka ti cast. Ubedljivo najbolje objasnjenje OOP-a koje sa ikad procitao (a procitao sam gomilu). Samo mi je zao sto ovo nisi pre napisao, ne bih se mucio danima da shvatim koja je prednost OOP-a :)
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Duplira naziv menija iz INC fajla08.04.2010. u 16:10 - pre 171 meseci
Citat:
Milos911: Znam da je offtopic ali moram da kazem:
Zeljko svaka ti cast. Ubedljivo najbolje objasnjenje OOP-a koje sa ikad procitao (a procitao sam gomilu). Samo mi je zao sto ovo nisi pre napisao, ne bih se mucio danima da shvatim koja je prednost OOP-a :)


Nema na cemu, reci ako treba jos nesto ali otvori novu temu. Mada, ja sam skoro uvek off-topic; uglavnom kukam kako u Srbiji niko ne ceni dobrog programera, poslodavci mi ne odgovaraju itd... Moderatorima ne smeta, drugi ucesnici me ignorisu i svi sretni i zadovoljni. Kao komandir kasarne i kapetan iz price o OOP-u :)

Sad sam pogledao moju prethodnu poruku i ispravio par gresaka: naime, protected static zaista nema nikakve logike ali sam pisao na brzinu pa... jbg. Prepravio sam da to bude dinamicka metoda $this->getCleaningDevice() .

 
Odgovor na temu

kelja

Član broj: 70429
Poruke: 1416
*.dynamic.isp.telekom.rs.



+35 Profil

icon Re: Duplira naziv menija iz INC fajla09.04.2010. u 16:40 - pre 171 meseci
Ha, ha, vrlo lepo (jes da si mogao i neku drugu instituciju da uzmes za primer, al' dobro).

 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
195.252.79.*



+34 Profil

icon Re: Duplira naziv menija iz INC fajla10.04.2010. u 12:41 - pre 171 meseci
Citat:
kelja: Ha, ha, vrlo lepo (jes da si mogao i neku drugu instituciju da uzmes za primer, al' dobro).


Priznaj, nisi isao u vojsku

Mislim da je vojska zaista najbolji primer za ucenje OOP: korisnik je bog i batina, a svi ostali moraju da urade posao. Niko tebi nece dati metlu, dzoger, lopatu i ostale ratnicke rekvizite; moraces da se snadjes sam. Zato 95% mojih dinamickih public metoda nema nikakav parametar; kao i vojnik koji je dobio naredjenje, moja metoda ce se snaci sama.

Mogao sam da dam primer i sa nekom zdravstvenom institucijom, ali bi program onda izgledao ovako:
Code:

$doctor = Doctor::getAvailable() ;
$patient = Patient::getSick() ;

$money = $patient->getAllMoney() ;
$doctor->treat($patient, $money) ;

class Doctor
{
  public function treat($patient, $money=0)
  {
    if ($money==0)
      $patient->die() ;
   else{
     try{
       $this->marketYourPrivatePractise() ;
       $this->makeBadDecision() ;
       $this->askForMoreMoney($patient) ;
       $this->tellPatientToComeIn6Months($patient) ;
    } catch(Exception $e)
       $patient->die() ;
   }
  }
}


ali je za pocetnika ova real-life situacija mnogo komplikovana
 
Odgovor na temu

Phikret
Fikret Pašović
freelancer
Novi Pazar - Beograd

Član broj: 192541
Poruke: 71
*.com
Via: [es] mailing liste

Sajt: www.mojestudije.info


+2 Profil

icon Re: Duplira naziv menija iz INC fajla10.04.2010. u 15:45 - pre 171 meseci
>

Hahaha. Dobar primer :)

--001485f80e7a47bb340483e2f725
Content-Type: text/html; charset=ISO-8859-1

<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div class="h5">esauth:396391:1f2ec94815eefadb271241ae8978d693<br>
http://www.mojestudije.info
Svako ima pravo da se kreće i da bude kreten


 
Odgovor na temu

[es] :: PHP :: Duplira naziv menija iz INC fajla

[ Pregleda: 3714 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.