Gacha Posted January 27, 2004 Report Share Posted January 27, 2004 Man shkiet, ka taisu nepareizi savai lapai pashu saakumu. Jo nezinu kaa to iisti dariit. Esmu meklejis internetaa tos enginus, bet tos kurus esmu atridis, tie ir mega lieli un sarezzgjiiti. Man index lapaa ir inklodota labaa un kreisaa mala un vidus, bet vairaak arii es neko neizmantoju. Zinu, ka ir taada lieta kaa swich, ar kuru kaut ko var paarsleekt. Varbuut kaadam ir kaads piemeers, kaa taisiit pashu to saakumu lapai. :blink: Link to comment Share on other sites More sharing options...
sviesc Posted January 27, 2004 Report Share Posted January 27, 2004 man te ir viens dzinis nopublicets mekl'e te > http://sviesc.valsts.lv/read.php?id=88 Link to comment Share on other sites More sharing options...
jb4 Posted January 27, 2004 Report Share Posted January 27, 2004 Doma iekļaut (include,require) augšiņu (header), vidu (saturu) un apakšiņu (footer) no atsevišķiem failiem/skriptiem nav slikta un peļama. Par switch runā, kad atļauj pieprasīt lapu piemēram: http://tavalapa.com?sadala=jaunumi Un iekš PHP to nolasa: <?php include('lapas/augsa.php'); if ( !isset($_REQUEST['sadala']) ) { $_REQUEST['sadala'] = ''; } switch ( $_REQUEST['sadala'] ) { case 'about': include('lapas/about.php'); break; case 'jaunumi': include('lapas/jaunumi.php'); break; case 'sakums': default: include('lapas/sakums.php'); break; } include('lapas/apaksa.php'); ?> Link to comment Share on other sites More sharing options...
CryRat Posted January 27, 2004 Report Share Posted January 27, 2004 huh... vienmēr esu brīnījies kādēļ tiek izmantots kaut kas tāds kā jb4 rādīja... personīgi man ir about.php kuram augšā include('augsa.php'); un apakšā include('apaksa.php'); tālāk ir jaunumi.php kuram atkal augšā un apakšā tiek inklūdoti augsa.php un apaksa.php un tā tālāk ar visām lapām... un visi urli man izskatās normāli http://tavalapa.com/jaunumi.php nevis http://tavalapa.com?sadala=jaunumi ir kaut kas ko es nezinu / nesaprotu ? Link to comment Share on other sites More sharing options...
jb4 Posted January 27, 2004 Report Share Posted January 27, 2004 1) Viendien tev nebūs jaunumi.php un sveika gauja, plūsti plaši, kur ir mani refereri? 2) ?sadala=jaunumi varēja tikpat labi būt apaches mod_rewrite nedarbiņš no manalapa.com/jaunumi/ 3) Lai trīsreiz nerakstītu vienu un to pašu. index.php man tagad satur visu nepieciešamo apakšlapu ielādei un nevis visas apakšlapas satur 20% vienu un to pašu (kaut vai funkc.bibliotēku includes, const definīcijas, if/switch - regulārās pārbaudes u.tml.) 4) include('jaunumi.php') vietā varēja arī būt jaunumi.html un jaunumi.txt un visbeidzot mysql_query("SELECT ... where name='jaunumi'") Link to comment Share on other sites More sharing options...
CryRat Posted January 27, 2004 Report Share Posted January 27, 2004 huh... nu paldies par skaidrojumu jb4... Link to comment Share on other sites More sharing options...
Gacha Posted January 27, 2004 Author Report Share Posted January 27, 2004 Nu es noka chaju to engine, mazliet papetuju un cik saprotu tad tas straadaa parasti, bet man gribetos apm taa, kaa jb4 bija rakstijis par to svich. Nu es to arii nesen izmantoju, man katraa lapaa saakumaa bija rakstiits <? include("config.php"); Nu konfig fails man ir shaads: <? $id=$_GET['id']; switch ($id) { case "blond1": $pg_body = "blond_1.php"; break; case "blond2": $pg_body = "blond_2.php"; break; case "datori1": $pg_body = "datori_1.php"; break; case "forums": $pg_body = "list.php"; break; case "foto": $pg_body = "muusu_foto.php"; break; case "sms>sirsn1": $pg_body = "sms_sirsn_1.php"; break; case "sms>sirsn2": $pg_body = "sms_sirsn_2.php"; break; case "sms>sirsn3": $pg_body = "sms_sirsn_3.php"; break; case "christmas_mp3": $pg_body = "christmas.php"; break; case "christmas>foto": $pg_body = "christmas_foto.php"; break; case "forums_post": $pg_body = "guestbook.php"; break; case "forums_chek": $pg_body = "add.php"; break; default: $pg_body = "start.php"; } ?> liidziigs tam kas jb4. Bet skatijos ka tas ir bikinj savadaak. Bet ja es lietoju sho config failu tad nav nekaada atshkjiriba vai linkaa rakstu list.php vai ?id=forums Kaa buutu jaraksta linkos tas viss? Un vai tas butu ertaak, ja man uzrodas jauna lapa tad man taa katru reizi ir jaieraksta config failaa? Link to comment Share on other sites More sharing options...
Robis Posted January 27, 2004 Report Share Posted January 27, 2004 hmm... Vispaar, es neiesaku izmantot uzreiz switch (protams, ja taa ir eertaak, vinju vajag izmantot), tachu, ne tas ir galvenais! Pats galvenais vispirms ir tiiri galvaa izshtukot kaa notiksies saita jebkuras lapas ielaade! Es iesaku izmantot Class objektus atsevishkjos failus, kurus peec tam include, kaa arii tematiskos funkciju failu un protams, galveno mainiigo nemainiigo jeb var arii konstantes defineet config.php failaa (piemeeram). Un, ja tev saitaa tiek izmantota datubaaze, padomaa, kaa tu atveersi un aizveersi datubaazi! Iesaku datubaazi aizveert pirms lapa tiek izklaata ar echo paliidziibu! Ar datubaazi darbojies, lai dabuutu attieciigos mainiigos, ko likt iekshaa templates failos un savukaart tos visus salaadeet vienaa mainiigajaa, kuru pashaas beigaas ar echo paliidziibu izklaaj un luuk viss saits! :) Pie tam vajag izmantot arii Output Buffering - taadas ir tikai manas domas un tas ir tikai taa vispaariigi, jo es pashlaik nopietni njemos pie viena shaada saita - sanaak iisais skripts un profesionaala lapa, kuru peec tam ir viegli editeet! Link to comment Share on other sites More sharing options...
Gacha Posted January 27, 2004 Author Report Share Posted January 27, 2004 Es ar php veel esmu uz Juus, jo nesen tik uzzinaaju, ka tas existee! Vari man paskaidrot kas ir Class objektus atsevishkjos failusun Output Buffering Ja vari tad paraadi kaadu mazu piemerinju. Link to comment Share on other sites More sharing options...
Robis Posted January 28, 2004 Report Share Posted January 28, 2004 Nu, Class buutu: Class Mana_klase { function funkcija_1() { } function funkcija_2() { } } Tagad ir uztaisiits objekts Mana_klase, pie kura var veersties shaadi: $objekts = new Mana_klase; $rezultaats1 = $objekts->funkcija_1() $rezultaats2 = $objekts->funkcija_2() utt. Output buffering: piemeeram, visu lapas saturu bufferee (vispirms vinjsh visu salaadee, tad aizsuuta gatavu uz browseri laikam... (varbuut kaads zin preciizaak, kas ir buffereeshana?): ob_start(); viss lapas saturs; ob_end_flush(); Nu, tas taa vispaariigi! P.S. Datubaazes MySQL funkcijas noteikti iesaku likt atsevishkjaa klasee(objektaa), kursh atrodas atsevishkjaa failaa, piemeeram: database.php: Class MySQL { var db_id; function connect() { $this->db_id = mysql_connect(); return $this->db_id; } Nu taa apmeeram! :) Link to comment Share on other sites More sharing options...
Gacha Posted January 28, 2004 Author Report Share Posted January 28, 2004 Nu sho palasot es apm kaut ko sapratu, bet pielietot nemaceetu. Varbut kaut kur ir kaads mazinjsh turtorialis no A-Z. Ar to class man asoaciejas CSS class izmantoshana, bet php es nezinu kaa tos lietot. Un ar to output buffering - Vai vienkarshi es varu lapas augshaa starp php tagiem ierakstiit ob_start(); un lapas apakshaa starp tiem tagiem ob_end_flush(); Un tad vinjsh pa priekshu ielades visu lapu un tad tik to paraadiis? Link to comment Share on other sites More sharing options...
Robis Posted January 28, 2004 Report Share Posted January 28, 2004 hmm... Par to ob pats nezinu, cereeju, ka kaads zinoshaaks paskaidros :rolleyes: Bet php ar Class paliidziibu var uztaisiit objektu! Liidziigi kaa C++ .... Nu, tas ir taa - tev ir shis objekts un ja tev vinjsh ir pieejams, tad tu no vinja vari dabuut visas funkcijas un mainiigos aaraa, kas ir vinjaa iekshaa! Nu, eerti lietojams, nevis sarakstiit vienkaarshi rindaam atsevishkjas funkcijas, tachu objekts var viena veida funkcijas apvienot vienaa objektaa, kuras peec tam buus viegli pieejamas caur $objekts->funkcija(); Link to comment Share on other sites More sharing options...
Gacha Posted January 30, 2004 Author Report Share Posted January 30, 2004 NU es nupat izdomaaju, ka vareetu shitaa pamegginaat. Galvenaa lapaa ir includoti labaa malaa un kreisaa mala, bet pa vidu(lapas saturs) vareetu buut shaadi <? include("$lapa");?> un tad vajag comfig.php bet to es nemaaku uztaisiit. Varbuut kaads zin kaa? Link to comment Share on other sites More sharing options...
Gacha Posted January 30, 2004 Author Report Share Posted January 30, 2004 ROBI Te atradu turtoriali par to buferingu te Es meginaju bet man neizdevaas. Ja sapratu pareizi tad man vajadzees paarveidot visu lapas saturu no html uz php, lai tas stradaatu Link to comment Share on other sites More sharing options...
jb4 Posted January 30, 2004 Report Share Posted January 30, 2004 Gacha, nafig Tev klases, nafig Tev output buffering? Kamēr pats neredzi tam jēgu, nav vērts to darīt tikai tāpēc, ka Robis tā teica. Robis, kā redzi, pats šīs lietas nemaz nemāk pielietot, tāpēc viņa padoms nav diezko vērts. Labāk turpini močīt kā domā pareizi un kad radīsies problēmas, piemēram, PHP spļaus ārā kļūdas "Can't modify headers, headers already sent on line" vai kaut kas tamlīdzīgs, tad arī domāsi par output buffering. Kad pats uzrakstīsi kodu, kurā pēc divām dienām netiec skaidrs kas kur jāraksta, lai lietu uzlabotu, tad arī domāsi par klasēm. Cik nojaušu par Tavam PHP zināšanām no mūsu nesenās komunikācijas php.lv/f/ ietvaros, Tev tās nav nekādas lielās un senās, tāpēc šiem Robīša ieteikumiem iesaku nesekot. Ja kods kļūst nepārskatāms, sāc rakstīt funkcijas, kuras veic katra savu darbu un galvenajā skriptā izsauc šīs funkcijas pēc vajadzības. Ja būsi uzrakstījis smukas funkcijas, kur katra dara vienu, savu darbu, tad būs viegli atrast kļūdas, pievienot fīčas un tamlīdzīgi. Link to comment Share on other sites More sharing options...
Recommended Posts