Jump to content
php.lv forumi

Kaklz

Moderatori
  • Posts

    1,401
  • Joined

  • Last visited

Everything posted by Kaklz

  1. Kaklz

    KURŠ LĒTĀK

    Visticamāk, ka "pa lēto" tā arī "neuzčinītu" ne viens, ne divi, ne arī 10 programmētāju komanda. Tavs jautājums izklausās pēc. Cik maksā mašīna, nepasakot ne to, kāda marka, ne cik veca, ne citus ļoti būtiskus parametrus. Uzraksti veikala specifikāciju un tad uzdod šo jautājumu jau kopā ar specifikāciju formā "Par cik tu būtu gatavs izstrādāt šādu projektu." .. pēc tam jau var vai nu mēģināt atrast lētāku darbaspēku vai arī mīkstināt prasību specifikāciju.
  2. par JavaScript nekas nav dzirdēts? <a href="#" onClick="java script: window.open .. bla bla bla">Saite</a>
  3. http://3a3-interactive.net/simpleblog/post.php?pid=25
  4. Kaklz

    Cepumi

    kamēr tarakāni neatnāk un neapgrauž tavus cepumus :)
  5. bubu, a ja faila nosaukums ir malicious.file.exe ? tad extension tev būs file.exe, nevis tikai .exe ;) ja šī problēma neuztrauc, tad var droši izmantot bubu variantu, es parasti to daru ar explode: $parts = explode('.', $filename); $extension = $parts[count($parts) - 1];
  6. problēma ir faktā, ka tu lieto kaut kādu tādu redaktoru, kas pieliek maģiskos pāris baitus UTF-8 faila priekšā. Apskaties pats ar mozilla -> view source. Pamēģini nodzēst visu, kas ir pirms <html> un paskaties, iespējams, ka līdzēs.
  7. Ar to var pavisam vienkārši cīnīties - uzrakstām coding guidelines vai paņemam tos pašus jau daudz apspriestos PEAR coding standards (http://pear.php.net/manual/en/standards.php), liekam programmētājam tās izlasīt un vadīties pēc tām. Ja cilvēks būs pietiekoši saprātīgs, lieta aizies kā pa sviestu un problēmu nebūs.
  8. Būtībā jau problēma ir faktā, ka cilvēks, kas ir devies uz darba interviju ar savu pārliecību par savu varēšanu un prasmi ir aplauzies un tagad nevar samierināties, cenšas visā vainot potenciālo darba devēju. Izskatās bērnišķīgi.
  9. Laiks: 20 minūtes, tajā laikā pamanījos vēl ar kolēģiem parunāties un apkārt paskatīties. SQL: CREATE TABLE `menu` ( `id` int(11) NOT NULL default '0', `title` varchar(100) NOT NULL default '', `parent` int(4) NOT NULL default '0', `collapseonclick` int(1) NOT NULL default '0', `lang` varchar(100) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM; # MySQLCC - [Local] Query Window # Connection: Local # Host: localhost # Saved: 2004-09-09 13:48:58 # # Query: # SELECT * # FROM `menu` # 'id','title','parent','collapseonclick','lang' '1','primais','0','1','lv' '2','otrais','0','0','lv' '3','tresais','0','0','lv' '4','first','0','1','en' '5','second','0','0','en' '6','third','0','0','en' '7','pirmais - viens','1','0','lv' '8','pirmais - divi','1','0','lv' '9','tresais - viens','3','0','lv' PHP <?php mysql_connect('localhost', 'root', '') or trigger_error(mysql_error()); mysql_select_db('test') or trigger_error(mysql_error()); $lang= (!empty($_REQUEST['lang']) ? $_REQUEST['lang'] : 'lv'); $qry = "SELECT * FROM menu WHERE lang = '$lang' AND parent = 0;"; $res = mysql_query($qry) or trigger_error(mysql_error()); $activeMenuId = (!empty($_REQUEST['mid']) ? $_REQUEST['mid'] : 0); echo '<a href="?lang=lv">lv</a><a href="?lang=en">en</a>'; while ($row = mysql_fetch_assoc($res)){ echo '<li><a href="?mid='.$row['id'].'&lang=' . $lang . (($activeMenuId == $row['id'] && !empty($row['collapseonclick']) && empty($_REQUEST['collapse'])) ? '&collapse=1' : '') . '">'.$row['title'].'</a></li>'; if ($activeMenuId == $row['id'] && empty($_REQUEST['collapse'])){ $qry = "SELECT * FROM menu WHERE lang = '$lang' AND parent = '".$row['id']."'"; $res2 = mysql_query($qry); if (mysql_num_rows($res2)){ echo '<li class="sub"><ul>'; while ($row2 = mysql_fetch_assoc($res2)){ echo '<li><a href="?mid='.$row2['id'].'&lang='.$lang.'">'.$row2['title'].'</li>'; } echo '</li></ul>'; } } } ?>
  10. Būtībā jau neviens neaizliedz intervijā arī pateikt, ka stundas laikā tu to nevari izveikt to, ko topošais darba devējs prasa, bet izstāstīt, cik daudz un ko tu vari izdarīt stundas laikā un to arī nodemonstrēt.
  11. he he, saucās sacensības ātrkodēšanā? Interesanti, kāds ir plānotais topošā darbinieka atalgojums, ja nav noslēpums?
  12. uzliekot un paskatoties nekādu atšķirību tu neredzēsi :P pavazājies pa zend.com, tur atradīsi ;)
  13. Ja ir pieejams SimpleXML, tad tas kljuust pavisam triviaali <?php $xmlstr = file_get_contents('xml.xml'); $xml = simplexml_load_string($xmlstr); $currencyList = $xml -> body -> crates -> currencies -> currency; foreach ($currencyList as $currencyItem){ echo $currencyItem -> id . $currencyItem -> units . $currencyItem -> rate . "<br />"; } ?>
  14. bankas valūtu kursus var dabūt viņu lapā: http://www.bank.lv/vk/xml.xml Reiz sensenos laikos, kad man nebija pieejams ne SimpleXML, ne xml saimes funkcijas uzrakstīju pāris funkcijas: <?php function valuta($kods){ $str = file('http://www.bank.lv/vk/xml.xml'); $str = join('', array_slice($str, 4, count($str) - 7)); $str = str_replace("\n", '', $str); $str = str_replace("\r", '', $str); $str = preg_replace("/[\t]*/", '', $str); $str = preg_replace("/[ ]*/", '', $str); $str = str_replace('<Currency><ID>', '', $str); $str = str_replace('</ID><Units>', '-', $str); $str = str_replace('</Units><Rate>', '-', $str); $str = str_replace('</Rate></Currency>', "\n", $str); $valutas = explode("\n", $str); foreach ($valutas as $valutaItem){ $valutaInfo = explode('-', $valutaItem); $valutasListe[$valutaInfo[0]] = $valutaInfo[1] . $valutaInfo[0] . ' maksaa Ls ' . ($valutaInfo[2] * 1); } return $valutasListe[$kods]; } function listvaluta(){ $str = file('valuta.xml'); $str = join('', array_slice($str, 4, count($str) - 7)); $str = str_replace("\n", '', $str); $str = str_replace("\r", '', $str); $str = preg_replace("/[\t]*/", '', $str); $str = preg_replace("/[ ]*/", '', $str); $str = str_replace('<Currency><ID>', '', $str); $str = str_replace('</ID><Units>', '-', $str); $str = str_replace('</Units><Rate>', '-', $str); $str = str_replace('</Rate></Currency>', "\n", $str); $valutas = explode("\n", $str); foreach ($valutas as $valutaItem){ $valutaInfo = explode('-', $valutaItem); $valutasListe[] = $valutaInfo[0]; } return 'reku sheku, man ir shitaadi valuutas kursi: ' . join (', ', $valutasListe) . '. Ko vinji katrs noziimee, gan man neprasi :P'; } ?>
  15. Piedrāzt to OOP tādā gadījumā :) Man arī iesākumā likās, ka formas ģenerēt ar OOP palīdzību ir stilīgi, labi, tālejoši domājoši un tā tālāk. Bet tā nav. Katra forma jebkurā gadījumā ir savādāka un prasa savādāku pieeju, tāpēc es ieteiktu aizmirst par OOP kodu, kas ģenerē formas. Daudz vienkāršāk ir ņemt un formas sarakstīt tīrā XHTML un pēc tam vienādi ar CSS noformēt. Tieši to pašu es gribētu teikt par tabulu veidojošo klasi - lai paredzētu visus tabulu veidus, kādus vien var ievajadzēties, tev nāksies 20 reizes izgudrot jaunu divriteni, pie tam tu tikai lieki sarežģīsi savu kodu. OOP ir izmantojams vietās, kur tas dzīvi atvieglo, nevis rada liekas problēmas. Tam visam ir viens iemesls - tu nevari paredzēt un iekļaut visus formas atribūtus savā OOP kodā. Kaut vai viens piemērs - uztaisi man ar savu OOP kodu read-only text input lauku. Ko darīsi? Pārrakstīsi savu klasi. Nākamais piemērs - uztaisi man ar savu OOP kodu teksta lauku, kurā var ierakstīt ne vairāk kā 100 simbolus - atribūts maxlength, atkal vēl viens parametrs, kas ir nododams klases metodei. Tā varētu turpināt līdz bezsamaņai, jo jebkurā brīdī klients var palūgt, lai tu ievieto blakus divus teksta laukus (teiksim, personas kodam) un atkal tev nākas pārrakstīt savu klasi. Tajā pašā laikā, rakstot formas kodu no rokas tu uz šīm izmaiņām vari noreaģēt burtiski dažu minūšu laikā un nebūs jālauza galva par to, vai tavs OOP kods tādu lietu atļauj, vai nē.
  16. Kaklz

    printet lapu

    ja lieto firefox, tad var ar headeriem un footeriem paspēlēties pa nopietnam ;)
  17. ir divi dažādi gadījumi, kuros attiecīgi ir jārīkojas atsevišķi. 1) ja pievienotā informācija nav domāta labošanai, tad var datubāzē saglabāt informāciju ar HTMLENTITIES, HTMLSPECIALCHARS vai vēl kādu citu filtru. 2) ja pievienotā informācij vēl būs jālabo, tad datubāzē vajadzētu glabāt visu informāciju tieši tādu, kāda tā nāk no lietotāja (protams, novēršot SQL injekciju iespējamību ar addslashes/mysql_escape_string vai kādu citu līdzvērtīgu funkciju citai datubāzu pārvaldības sistēmai.
  18. Kaklz

    apstrade ar oop

    brīdī, kad būsi daudz maz apguvis OOP un tā iespējas, sapratīsi, ka PHP gadījumā pilnīgs OOP ir bezjēdzīgs - notiek lieka lietu sarežģīšana vismaz PHP4 gadījumā pilnīgi noteikti.
  19. pieļauju domu, ka tu klases definīciju esi iznesis citā failā, kuru savukārt esi aizmirsis pēc tam iekļaut ar include/require dzimtas funkcijām, attiecīgi PHP nav nekādas nojausmas, kas ir objekts table.
  20. grupēšana noteikti strādās ilgāk par sakārtošanu, tāpēc parasti izmanto SELECT * FROM tabula ORDER BY RAND() ASC;
  21. Kaklz

    Verdana

    note: nevis divas, bet vismaz 5 - serif, sans-serif, cursive, fantasy, monospace sans ir Franču vārds serif no sans serif atšķiras ar to, ka viņiem ir tādi "īsinājumi" un papildlīnijas burtu līniju galos, sašaurinājumi. sans-serifi ir tādi "taisnstūrīgāki", it kā zīmēti ar reisfēderu. attiecībā uz ievēro to, ko teica blackhalt par fontu grupām - to nu kā jau dizainiera sirds pateiks. /me piemēram grib datumus redzēt vai nu georgia, vai verdana. o, paldies par skaidrojumu!
  22. Kaklz

    Verdana

    fonti ir jānorāda prioritārā secībā, kuru gribi kā pirmo, kuru kā otro, kuru kā trešo. Pririotāte ir vajadzīga tikai gadījumā, ja lietotāja datorā nav kāda no fontiem. Šajā gadījumā tavs aprakstošais CSS izskatās kā ' Meklējam lietotāja datorā fontu Georgia, ja neatrodam, meklējam verdana, ja neatrodam meklējam tahoma, ja neatrodam, ņemam jebkuru fontu, kuram nav serif efekta, bet ja arī tādu nav, tad ņemam arial' Viss šis ir galīgi neloģiski, jo 1) ievēro to, ko teica blackhalt par fontu grupām. Ir divu veidu fontu grupas - ar serif efektu un bez. Ar serif efektu ir fonti times new roman, georgia un tiem līdzīgi, bez serif efekta ir fonti arial, tahoma, verdana, helvetica, utt. CSS to var pierakstīt vienkārši - fontiem ar serif efektu raksti 'serif' un fontiem bez serif efekta raksti 'sans-serif' (kaut kādā valodā, iespējams, ka latīņu, 'sans' nozīmē 'bez') 2) aiz sans-serif vēl norādīt konkrētu fontu ir absolūti garām, jo pasakot, ka tu esi ar mieru ņemt jebkuru fontu no šīs grupas, lietotāja dators tā arī izdarīs. tātad savu stilu tu vari aprakstīt kā body {font-family: georgia, serif; font-size: 13px} vai body {font-family: verdana, tahoma, arial, sans-serif; font-size: 13px} P.S. ja kādreiz kaut kur lasi manuāļos par 'generic font family', tad zini, ka tās ir tās divas iepriekš pieminētās fontu grupas 'serif' un 'sans-serif'.
  23. to arī nozīmē - tavā kolonu sarakstā kolonas ar nosaukumu 'msgtime' iespējamie cēloņi: 1) neesi pie from ielicis tabulu, kura satur šo kolonu 2) esi pārrakstījies rakstot kolonas nosaukumu 3) case - sensitivity? lai gan ja pareizi atceros, tad kolonu nosaukumiem nav atšķirības, vai tos raksta ar lielajiem, vai mazajiem burtiem.
  24. Kaklz

    texta lauks

    echo '<input type="text" value="'.htmlspecialchars($m).'" />'; (Gadījumā, ja $m = 'bla bla " bla ';)
×
×
  • Create New...