[ Príspevkov: 23 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37 | 37
NapísalOffline : 20.07.2010 23:10 | opozdene <title>

Mocem sa s problemom a mozno mi len zas unikaju zakladne suvislosti.

Riesim zobrazovanie aktualneho titlu na stranke. (podla aktualne vypisovanej udalosti, fotoalbumu a tak.. )

Momentalne to mam tak, ze volam funkciu ktora mi vypisuje nadpis s podnadpisom a nastavujem v nej aj session pre vypis do titlu:

Napr- volanie:
$page->RenderMainTitle("Fotogaléria",$kraj->menokraja);

Funkcia:
Kód:
   function RenderMainTitle($title, $title2)
   {
    
      echo '<h1 class="h1">' . $title . ' </h1>';
      
      echo "<h2 class='h1'>$title2</h2>";


$_SESSION['title']= array(       
            "podnadpis"  => $title2,
            "nadpis"  =>  $title);

   RenderTitle();
}


Title:

Kód:
<title><?php

echo $_SESSION['title']['podnadpis']."|".$_SESSION['title']['nadpis'];

   ?></title>


Takze mi ukazuje title minule stlacenej stranky a nie tej aktualnej.

Ako to spojazdnit?

Za kazdy napad dik...


Offline

Užívateľ
Užívateľ
opozdene <title>

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 20.07.2010 23:59 | opozdene <title>

Nemôžeš najprv premennú zavolať a potom ju nastaviť. Zrejme bude problém v neskorom volaní fcie RenderMainTitle().


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37 | 37
Napísal autor témyOffline : 21.07.2010 0:23 | opozdene <title>

Ale ako ju mozem volat este pred titlom? Obsah sa mi nacitava az v jadre.


Offline

Užívateľ
Užívateľ
opozdene <title>

Registrovaný: 05.09.09
Príspevky: 1157
Témy: 127 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 21.07.2010 8:33 | opozdene <title>

Nie ako môžeš, ale logicky musíš...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37 | 37
Napísal autor témyOffline : 21.07.2010 11:01 | opozdene <title>

Ok. Tak teda ako to musim docielit? Snazil som sa header location na samu seba na konci funkcie, ale zaciklil som to.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 28.11.17
Príspevky: 1178
Témy: 188 | 188
NapísalOffline : 21.07.2010 11:16 | opozdene <title>

Podla mna to mas celkovo blbo premyslene :-) takto to nema zmysel. Ja zdy includujem do indexu obsah podla toho co mam v $_GET['page'] a podla toho aj vygenerujem titulok. Kazdopadne tu kontrolu aktualneho titulku musis umiesnit pred <title>. Cize na zaciatku suboru bude script, ktory vytvori titulok a ulozi ho do premennej a vypise ho v title. Viac ti asi neporadime kedze nevieme podla coho ziskavas $title a $title2. Ale takto sa to nebude dat ze urcujes titulok pri vypise nadpisu.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37 | 37
Napísal autor témyOffline : 21.07.2010 16:51 | opozdene <title>

Milujem, ked mi niekto povie , ze sa nieco neda. Vtedy mi mozog pociti nutnost mysliet. :)

Prosto som musel vyriesit len spravny refresh stranky, bez toho aby som sa ocitol v slucke. To mi zabezpecila jednoducha podmienka, nech sa nenastavuje, ked je uz na danu hodnotu podnadpis nastaveny. Tu je update mojej funkcie:

Kód:
   function RenderMainTitle($title, $title2)
   {
    
      echo '<h1 class="h1">' . $title . ' </h1>';
      
      echo "<h2 class='h1'>$title2</h2>";

if ($title2 != $_SESSION['title']['podnadpis']){
$_SESSION['title']= array(       
            "podnadpis"  => $title2,
            "nadpis"  =>  $title);
header("location: ".$_SERVER["REQUEST_URI"].'');
}
}


Myslel som si, ze podobnu situaciu uz isto mnohy riesili(update hodnoty v nakupnom kosiku po pridani tovaru, ci ine manipulacie so sesion, ktore vyuzijete v aktualny vypis stavu).

Tak na zaver jedna strasne napomocna veta(pre programatora obzvlast): "Nepitaj sa preco sa to neda. Hladaj ako sa to da."

Pekny den priatelia.


Offline

Skúsený užívateľ
Skúsený užívateľ
opozdene <title>

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 21.07.2010 16:55 | opozdene <title>

Feko, takže si spokojný so svojím riešením?? Zbytočný refresh len kvôli tomu, že si nenašiel iný spôsob?
Poradím ti ešte jednu vetu (pre programátora obzvlášť): keď niečo robíš, rob to poriadne

Necháp ma zle, proste to riešenie nie je dobré. Vieš si predstaviť podobný mechanizmus pri častejšie navštevovanej stránke? Čo to asi tak urobí? Porozmýšľaj ;)

Ale inak súhlasím, programátor musí hľadať riešenie a nevyhovárať sa.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37 | 37
Napísal autor témyOffline : 21.07.2010 16:58 | opozdene <title>

No toto beriem. Bavime sa o rieseniach. Preco su zle, ci dobre. Pouc ma, rad sa necham. Pripadne porad lepsie ku konkretnej situacii. Vsak o tom forum je, ci sa mylim?


Offline

Skúsený užívateľ
Skúsený užívateľ
opozdene <title>

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 21.07.2010 17:13 | opozdene <title>

Nemýliš, akurát na to bohužiaľ niektorí zabúdajú :)

Problém je v tom, že pri takomto spôsobe máš na server dve požiadavky - prvá od klienta a následne opäť refresh. Jednu stránku načítavaš zbytočne nadvakrát. Pri málo navštevovaných stránkach by to možno bolo jedno, ale je vždy lepšie počítať s vyššou ako nižšou návštevnosťou a neučiť sa zlé postupy.

Podľa môjho názoru je riešenie relatívne jednoduché - kde je problém, aby si niektoré veci načítal už na začiatku php súbora? Použiť session je tiež podľa mňa zbytočné, keďže session by sa malo využívať skôr na iné veci (info o prihlasení a podobne, proste niečo, čo potrebuješ vážne niekam uložiť).

Neviem ako to máš presne riešené a úprimne, s php už taký rok vôbec nerobím, takže budem hlavne v teoretickej rovine.

Skús presunúť časť kódu, kde získavaš názov kategórie/produktu/článku (prípadne aj samotné získanie povedzme produktu/článku do premennej) na úvod kódu. Uložíš si to do premennej (čo potrebuješ samozrejme môžeš pichnúť do title alebo descriptionu) a v hlavnej content časti (kde to chceš zobraziť do html) proste len využiješ už získané info, prípadne dozískavaš to, čo nemáš (povedzme výpis kategórie eshopu viacerých produktov v cykle, alebo zoznam článkov kategórie...).

Hádam sa chápeme, je mi to trochu zložité vysvetľovať nejako zmysluplno, lebo prešiel som na úplne iný štýl aj logiku programovania :lol: Ak dačo nie je jasné, pýtaj sa, skúsim ti to viac priblížiť.


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37 | 37
Napísal autor témyOffline : 21.07.2010 17:28 | opozdene <title>

Hmm, chapem. Kedze som na toto myslel az na zaver (chyba, ja viem. Ale nimi sa clovek uci:), to presuvanie teraz pre mna znamena prekopavku skriptov celeho projektu, kedze jednotlive sql dotazy su az v contente. Preto tato moja "zaplata". V podstate pre vsetky podstrany ich musim vytiahnut vyzsie.

S tym ucenim zlych postupov mas pravdu. Navyknut si na take zaplaty a lenivost(teda skor slaba predvydavost) pri analyze a tvorbe navrhu je vcelku pruser. Pre takeho samouka ako ja je super ked ma niekto nielen za ne zvozy, ale aj povie preco su zle a pripadne ukaze spravny smer.

Tak sa pustam do roboty, caka ma jej kopec. :) Vdaka krasne za tvorciu debatu a za usmernenie.


Offline

Skúsený užívateľ
Skúsený užívateľ
opozdene <title>

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 21.07.2010 17:30 | opozdene <title>

Nemáš začo, od toho tu fórum je ;) Inak nič si z toho nerob, stane sa raz za čas každému :lol: Dôležité je potom rozhodnutie "čo teraz?". Či sa uspokojíš s nejakou záplatou alebo či to radšej prerobiť a mať neskôr jednoduchšiu robotu v prípade problémov...


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
opozdene <title>

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 21.07.2010 22:49 | opozdene <title>

Pre teba by bolo možné vhodné využiť nejaký templatovací súbor. Jeden je aj v často používaných skriptoch. Ten funguje tak, že si najprv do premenných načítaš hodnoty, ktoré až na konci (keď už máš všetky výbery z DB a všetky výpočty hotové) vypíšeš. Znamená to, že title môžeš zmeniť aj pred koncom skriptu a on bude taký ako potrebuješ. Skús sa pozrieť na Comper Parser. Ten používam a je fakt skvelý.


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Užívateľ
Užívateľ
opozdene <title>

Registrovaný: 05.09.09
Príspevky: 1157
Témy: 127 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 22.07.2010 22:13 | opozdene <title>

Flety:
Nevieš to opísať prosím nejako zrozumiteľnejšie. Ako to, že title môže vypísať až na konci, ak to len nekešuje....
Ešte sa to len chystám prečítať, ale ak by si mohol urobiť k tomu nejaký úvod, tak to uvítam...
Už som tak unavený, že to nevládzem čítať...


Offline

Užívateľ
Užívateľ
opozdene <title>

Registrovaný: 26.11.06
Prihlásený: 23.09.17
Príspevky: 4123
Témy: 317 | 317
Bydlisko: HE/BA
NapísalOffline : 22.07.2010 23:17 | opozdene <title>

Najprv si načítaš triedu(dúfam, že vieš v skratke čo je to trieda a čo to robí - je to v podstate funkcia ktorá sa hrá na niečo viac :)), ktorá zabezpečuje to čo ty chceš(template parser).

Následne v kde robíš všelijaké výbery z databázy, výpočty, úpravy textov(substr(), str_replace(), atp.). Tieto výbery iné hodnoty si načítaš do konkrétnych premenných.

Na konci súboru(php) všetky tie premenné pošleš tej triede a pošleš jej aj informáciu o template súbore. Tento template súbor má nejakú štruktúru, ktorá hovorí triede ako má výsledný dokument vyzerať. Tam môžeš mať cykly, premenné, v niektorých triedach includy, podmienky a iné. Teda v php nevypisuješ nič, iba načítavaš do premenných v tomto template súbore nenačítavaš žiadne premenné, nemanipuluješ nimi, iba ich vypisuješ medzi potrebné html značky.

Pre teba by to znamenalo to, že do premennej $values['title'] by si si počas vykonávania skriptu načítaval rôzne hodnoty. Napríklad na začiatku súboru máš iba názov stránky. Postupne, keď už načítaš napríklad názov tovaru, tak ho tam doplníš a potom tam môžeš napríklad aj pridať nejaké ID tovaru atp. následne na konci súboru ti trieda túto hodnotu vypíše vo výsledku.

Tento templatovací systém funguje na takom princípe, že najprv sa všetko vypočíta, so všetkým sa manipuluje, a vyberá z DB(a iné akcie) a potom ako posledný krok, sa to vypíše. Teda pred tým môžeš robiť čo chceš s čím chceš, dokonca aj presmerovávať, meniť session údaje a všetko sa ti zobrazí až na koniec. Je to obrovská výhoda. Ale pridáva ti to aj prácu. Ja som to nemal rád, ale bol som nptený to začať používať v jednej časti projektu a uvažujem, že to začlením neskôr aj do tej druhej.


_________________
Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5Q PRO Turbo CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 4-4-4-12 2T GPU: PowerColor PCS+ HD6950 HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: LCD: DELL U2414M 24" 1920x1200
Offline

Skúsený užívateľ
Skúsený užívateľ
opozdene <title>

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 22.07.2010 23:27 | opozdene <title>

Flety, nehnevaj sa, ale povedať o triede, že je to funkcia... Normálne nemáš problém rúcať celú myšlienku a logiku oop :lol:


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
opozdene <title>

Registrovaný: 05.09.09
Príspevky: 1157
Témy: 127 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 23.07.2010 9:10 | opozdene <title>

Flety:
Citácia:
Následne v kde robíš všelijaké výbery z databázy,

AHÁ... :lol:

Vďaka za námahu, ale nechápem, ako vie tá trieda, čo má robiť a kam má čo umiestniť. Resp. to asi neni moc flexibilné...
A ak sa všetko najprv spracuje a až potom sa to odosiela, tak to spomaľuje načítanie, nie?

PS: Pokiaĺ viem OOP je tiež len znôžka funkcíí, ku ktorým sa len inak pristupuje. Všetci vieme, že za tým sú funkcie a nie žiadny zázrak.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2 | 2
NapísalOffline : 23.07.2010 9:41 | opozdene <title>

camo, je prirodzene ze dynamicky tvoreny content sa najprv musi vyskladat a az nasledne sa odosiela na klienta a to hlavne z dovodu potreby zistenia velkosti contentu ktory posielas v headri HTTP responsu ako "Content-Length". pri statickom contente je to nepotrebne nakolko je to subor ktory svoju velkost ma uvedenu na filesysteme.


Offline

Skúsený užívateľ
Skúsený užívateľ
opozdene <title>

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 23.07.2010 13:56 | opozdene <title>

camo, aby si pochopil, že oop nie je zďaleka len znôžka funkcií, odporúčam naštudovať si o tom nejaké materiály a reálne si vyskúšať programovať napr v C#, a potom si to porovnaj ;) Nikto tu nehovorí o zázraku, píšem hlavne o tom, že je to úplne iný prístup, iná logika...


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37 | 37
Napísal autor témyOffline : 23.07.2010 14:31 | opozdene <title>

Dik Flety. Pre mna novinka, ktora sa perspektivne hodi. Lebo to poradie je casto dost obmedzujuca vec.


Offline

Skúsený užívateľ
Skúsený užívateľ
opozdene <title>

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 23.07.2010 14:48 | opozdene <title>

Feko, neuvažoval si napr. nad iným programovacím jazykom? pri webstránkach nie je človek obmedzený len phpčkom


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.09.07
Prihlásený: 30.11.11
Príspevky: 143
Témy: 37 | 37
Napísal autor témyOffline : 23.07.2010 17:22 | opozdene <title>

Uvazoval. Len je teraz hlavne dopit (aspon v mojom okoli) po phpckovskych vecickach. Co by si mi doporucoval? ASP? A cim je ten dany jazyk lepsi(schodnejsi, iny..)?


Offline

Čestný člen
Čestný člen
opozdene <title>

Registrovaný: 21.02.06
Prihlásený: 08.12.14
Príspevky: 5447
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 23.07.2010 17:27 | opozdene <title>

Predpokladám, že otázka bola zodpovedaná (keďže sa tu rieši už iba offtopic), ak ťa zaujíma, ktorý jazyk si vybrať, založ na to tému (ak netrafíš sekciu, ja ti to presuniem).
Prípadne si môžeš prečítať aj toto
http://www.pcforum.sk/net-vs-java-vt93736.html


_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
 [ Príspevkov: 23 ] 


opozdene <title>



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

JavaScript v <title>

v JavaScript, VBScript, Ajax

3

138

17.10.2012 11:58

Lier

V tomto fóre nie sú ďalšie neprečítané témy.

<title> pomocou javascriptu

v JavaScript, VBScript, Ajax

8

634

10.10.2007 19:02

zero0x

V tomto fóre nie sú ďalšie neprečítané témy.

Hrúbka <frame> a <rules> v <table>

v HTML, XHTML, XML, CSS

7

362

25.01.2009 22:10

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

formular: presun <option> zo <select> do <select>

v JavaScript, VBScript, Ajax

2

464

28.09.2009 15:27

tomast7

V tomto fóre nie sú ďalšie neprečítané témy.

>>> Java - connection problem ! <<<

v Assembler, C, C++, Pascal, Java

2

437

22.07.2009 8:38

johny3212

V tomto fóre nie sú ďalšie neprečítané témy.

HTML, CSS - skombinovat <DIV> a <p>

v HTML, XHTML, XML, CSS

2

244

28.04.2016 18:08

doubleR

V tomto fóre nie sú ďalšie neprečítané témy.

<tr> riadok tabulky ako odkaz <a>

v HTML, XHTML, XML, CSS

3

345

15.03.2010 15:32

1daemon1

V tomto fóre nie sú ďalšie neprečítané témy.

Interpunkcia v elementoch <textarea> a <select>

v HTML, XHTML, XML, CSS

4

149

30.10.2016 12:01

alvar

V tomto fóre nie sú ďalšie neprečítané témy.

Nazdielanie netu, LAN<-->PC<--wifi-->Notebook

v Siete

1

843

15.04.2006 23:44

Spirit

V tomto fóre nie sú ďalšie neprečítané témy.

Chladiče procesorov >>Všetky problémy sem<<

v Chladiče a všetky druhy chladenia

3

172

30.01.2013 22:08

DropaDred

V tomto fóre nie sú ďalšie neprečítané témy.

>>>Schvalenie zostavy<<<

v PC zostavy

10

311

16.12.2010 21:55

abcdefgh

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

tagy <em> a <strong>

v Internetový marketing, SEO, reklama

24

1019

01.12.2009 0:27

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

<a href> around <div>

v HTML, XHTML, XML, CSS

9

620

17.01.2007 22:43

exot

V tomto fóre nie sú ďalšie neprečítané témy.

<ul> <li> nemam odrazky

v HTML, XHTML, XML, CSS

1

334

09.04.2010 18:26

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Nacitanie udajov z databazy do <input> a <textarea&

v PHP, ASP

5

445

03.11.2007 21:46

Matho

V tomto fóre nie sú ďalšie neprečítané témy.

<p><hr></p>

v HTML, XHTML, XML, CSS

6

354

08.07.2010 21:41

camo



© 2005 - 2017 PCforum, edited by JanoF