Jump to content
php.lv forumi

vbz

Reģistrētie lietotāji
  • Posts

    264
  • Joined

  • Last visited

Everything posted by vbz

  1. redirect('./?login=2'); Tas nozīmē index() palaist, "./" esošajā dirā, esošajā dirā būs kontroliera defaultā funkcija, lieta tāda, ka tas kādus 4 gadus atpakaļ taisīts un staigāja, kkādi upgradi - apache, php? Kas varēja mainīties? ieliec kodu echo 'lalala'; exit(); viņš visu izdara, bet nedirektējas atpakaļ. bāc nesaprot uri ar argumentiem, ja ir tīrs uri lallla/lallla/01/06 - nostrādā labi iemetīs testu ar skriptu, kur get padod kkādu argumentu ar nestrādās? nē, neņem vispār pretim tādu sintaksi - llll.php?ggg=0
  2. lieta tāda, ka neņem nevienu uri, kas redirectējas uz "?variable=value" prmajā postā redirect: "redirect('./?login=2');" met error 404, taspats uz cita koda gabalu
  3. funkcija, kas nestrādā: function pasword_recovery_member() { $member = $this->membership_model->get_data(); $this->load->library('form_validation'); // field name, error message, validation rules $this->form_validation->set_rules('email_address', '"E-pasts"', 'trim|required|valid_email'); if($this->form_validation->run() == FALSE) { $this->password_recovery(); } else { if (!$this->membership_model->get_email_address()) { $this->password_recovery('<p class="error">Tādas e-pasta adreses nav!</p>'); } else { $new_password = $this->_createRandomPassword(); $this->membership_model->set_new_password($this->input->post('email_address'), $new_password); require_once(APPPATH. 'config/email.php'); $this->load->library('email', $config); $this->email->from(EMAIL_FROM, EMAIL_FROM_DESCRIPTION); $this->email->to($this->input->post('email_address')); $this->email->subject('Jauna parole'); $message_body = $this->load->view('emails/password-recovery', array('password' => $new_password), true); $this->email->message($message_body); if($this->email->send()) { redirect('./?login=2'); //redirect(current_url() . '/?login=2', 'refresh'); } else { show_error($this->email->print_debugger()); } } } } funkcija, kas, ir root funkcija: function index() { $this->data['message'] = ''; if($this->input->get('login') === '0'){ $this->data['message'] = '<p class="error">Nepareizs telefona numurs un/vai parole!</p>'; } if($this->input->get('login') === '1'){ $this->data['message'] = '<p class="message">Administrātors izskatīs Jūsu pieprasījumu 4h laikā!</p>'; } if($this->input->get('login') === '2'){ $this->data['message'] = '<p class="message">Parole tika nosūtīta uz Jūsu e-pastu!</p>'; } $this->data['footer'] = $this->load->view('includes/footer', array(), true); $this->load->view('includes/login-template', $this->data); } Jautājums uz visiem redirect atgriež 404 error page respektīvi - redirect('./?login=2'); in function pasword_recovery_member() atgriež 404, ja nav argumentu uri, teiksim ?mainigais=xxx, tad kods strādā, ja ir pielikts ?mainīgais=xxx, atgriež=404 pag, respektīvi uz "./?variable=value" uri return 404, bet pārējās lapas strādā tieši redirect('./?login=2'); //redirect(current_url() . '/?login=2', 'refresh'); // izmet error 404
  4. Iesakiet lūdzu bezmaksas versiju kontroles sistēmu piedāvātājus (VCS hosting providers) ar iespēju izveidot privātus repozitorijus! Vai arī pēc Jūsu atsauksmēm labākos ap ~5$/m (bez GitHub). Paldies!
  5. Meklēju darbu - GIS (geographic information system) programmētājs, DB administrators. Prasmes: GIS - MapServer; PostGIS; OpenLayers; GDAL, ogr2ogr; QGIS, GeoKettle; WMS, WFS; KML, GML, ESRI SHP. DB - PostgreSql, MySQL, SQLite, MS Access, FoxPro, MS SQL ( pamatzināšanas ), Oracle ( pamatzināšanas ). Programmēšanas valodas - MS .NET Framework ( npgsql ); PHP ( CMS – Wordpress, Drupal, Joomla; Frameworks – CakePHP, CodeIgniter ); Visual Basic/VBA; JavaScript, HTML/XHTML/XML, CSS, SQL; Object Pascal ( pamatzināšanas ); C/C++ un Assembly( studiju zināšanas ); Agile Software Development metodoloģija. Versiju kontroles sistēmas ( SVN, GIT ). Konferences - 9 Qgis Developer Meeting Valmiera 2013, DrupalCamp Baltics 2012, DrupalCamp Baltics 2011. Darba pieredze IT jomā no 1994. gada. Vēlams darbs no mājas, bet ne obligāti. Valdis E-pasts: [email protected]
  6. Izpētes, analīzes vērts gadījums - kā attīstās flames. Faktiski, kolektīvās zemapziņas cēloņi un sekas! Bet lasot, ir jautri! :)
  7. Kad man bija nopietna doma pāriet tikai kā freelancer (pēc treknajiem gadiem, krīzes sākumā, ~2008,2009.g.) paņēmu izstrādei nano complete(vnk. nečakarēties tur ar localhost, visām dinamiskajām ip, ieslēgts/izslēgts tas mājas pseido serveris, piekļuvēm, utt. Klientam vienmēr pieeja pie projekta, redz projekta attīstību), tagad 6.05Ls. Ir PHP, Perl, Python, Ruby, TCL. DB MySql, gan PostgreSql, SqLite, db attālināta piekļuve. Nosacīti(ne visu) var pārkonfigurēt globālo php.ini ar savu lokālo php.ini. Vari spraust resursus ārpus document root. SSH, cron ir, par SSL nāksies bleķot atsevišķi. Kopumā apmierināts, negribu ne izcelt, ne teikt kaut ko sliktu. Toreiz, klientu projektiem uz tā nano tika ņemti arī virtuālie serveri. Principā nekad nebija problēmas sazvanīt tos nano adminus, ja problēmu nevarēja atrisināt uz sitiena, tad max ~1-2.dienu laikā tur kaut kādas speciālas virtuālo serveru konfigurācijas parasti tika atrisinātas. Atceros, nācās pārcelt strādājošu projektu no viena VPS plāna uz krutāku, jo nevilka, nebija problēmu, visu paši pārnesa, protams jāpiķo par tādām ekstrām! :) Nu nez, sevis izglītošanai, mācībām ~6Ls/men var likties par daudz. Ja pelni ar to naudu, manuprāt nav dārgi. Piedevām tur ir īpašas klientu atlaides, ir norādīts tam complete 6.05Ls, bet par cik man tas hostings ir nez ~4 - 5. gadus, pašlaik rēķins atnāk ~5.60Ls mēnesī.
  8. vbz

    SELECT IF

    Domāju(iespējams), ja pieliktu klāt alias: IF (a.picture1 = NULL, a.picture2, a.picture1) tad tas if's nostrādātu arī tajā kvēriņā
  9. Performance jau ir kompleks pasākums (neiedziļinoties, ātrumā uzrakstīts): DB level - memcached; queries cashe; noSQL DB (MongoDB, Redis), utt PHP code - APC; XCACHE; Profiling(xhprof); utt. Filesystem level - file size limitation; aggregate css/js; reduce css/js; utt web servers level - mod_proxy; Ningx vs Apache vs ...; Varnish,Varnish proxy caching; Kopumā - load balancing, tā arhitektūra un tā tālāk un tā joprojām. Nevar analizēt vienu posmu, nezinot sistēmas arhitektūru kopumā.
  10. Ir 4 varianti: 1) iztikt tikai ar transakciju; -- example with transactioon (sql "pseidocode") begin; select ... into table1 delete from table2 ... where table2.field1<>table2.field1; delete from ...; delete from ...; -- rollback; -- raise exception messages; update table1 ...; commit; 2. izmantot FK indeksu. Tavā piemērā action on update būs izņēmuma gadījumi, faktiski var iztikt bez CASCADE. Relācijas inner join, left/right join veido starp PK un FK: from table1 join table2 on table1.PK=table2.FK Līdz ar to table2 pārējos datu laukus var brīvi klients labot bez kaskādes. Relācijas ir starp PK<->FK Izņēmuma gadījumi - kaut kādas iekšējas darbības, maipulācijas (datu migrācijas, importi, exporti, reindex, darbības ar sekvencēm). Kādi ir riski ka tiek "nobrucināti" PK indeksi? Pastāv, bet minimāli, pats db admins sačakarē ... :) Drošības pēc var likt tavā piemērā FK ON UPDATE CASCADE, maz būs pieprasījumi, ka klients PK labos. action on delete Stipri individuāli, sistēmanalītiķa darbs. Jāatbild uz jautājumu - vai entītija zaudē savu vērtību, pamatfunkcionalitāti bez FK entītijas, vai tā spēj eksistēt bez FK entītijas? Ja spēj - ON DELETE NO ACTION, ja entītija tiek sabojāta, nespēj vairāk eksistēt - ON DELETE RESTRICT un exception apstrāde kodā. Jāčeko kodā, kā tiek veidoti vaicājumi, kā tiek atrādīti dati - ar striktu sasaisti join(inner join) vai left/right join! ON DELETE CASCADE - ļoti uzmanīgi, ja nelieto transakciju un nav procesa gaitas apstrādes, rezultāts var būt bēdīgs. Pēdējos gadus vairāk sanāk strādāt ar PostgreSql, protams kaut kāda performance tiek zaudēta, bet sistēma nepaliek gliemeža ātrumā. Nepieciešams monitoringot, analizēt, profiling , kuri sistēmā ir vājie mezgli. Tad jautājums kā saglabāt datu integritāti? Par MySql(InnoDB) nemācēšu pateik, ļoti sen ar to strādājis, mož MySql tiešām ar FK paliek baigā bremze! 3. FK + tansactions 4. trigerēt šito konkrētajai tabulai. Faktiski gadījums, kad nepieciešama speciāla apstrāde - unikāla, tad konkrētajai tabulai izveido insert, update, delete triggers
  11. Tu tak neesi Māris, Tavs posts bija pirms viņa, faktiski šajā bezjēdzīgajā diskusijā, bez tā, ka Tu nozīmējies, kas raksturīgi pat ne oktobrēniem, bet pirmskolas vecuma bērniem, ar savu Arch Linux bildi un kaut kādiem kaķēniem, piedod, bet es neatrodu nevienu Tavu ierakstu par tēmu. Iespējams, ka man nepieciešams okulists ... :) Lab, man apnika. Tam visam ir zero vērtība!
  12. daGrevis: nelec ārā no bikšelēm, nolaidies no tā mākoņa uz zemes. Drusku pa daudz Tev sakāpis galviņā. Priekš manis Tu esi oktobrēns, līdz pionierim Tev vēl jāizaug. :) Vari jau uzskatīt, ka objektīvi es nedrīkstu vērt muti vaļā. Tik piebildīšu, tad kad Tu vēl šūpojies sava tēva maisiņos, es jau cietvielu fizikas institūtā - toreiz tur bija Latvija Republikas matemātikas olimpiāžu labākajiem kadriem pulciņš, programmēju dažādus matemātikas teorijas algoritmus un datus mēs glabājām majak magnetafonā uz parastas kasetes. Ai, da labi, nevajadzēja rakstīt, man patiesībā ir vienalga, vai Tev galva mākoņos vai kā strausam smiltīs iebāzta. Labi, vecums arī nav kvalitātes rādītājs, bet es par Tevi neizsaku visādas domas, bet nešaubies, man tādas ir :) Es pat neturpināšu argumentēt, nevajag skatīties caur tik mazu prizmu, freelancers, lai dara kā grib, es runāju par kompāniju, komandu darbu stratēģiju un politiku, bet visi argumenti ir šeit - es daru tā, ka man tur ir lokāli tas un tas ... Es atkal varbūt vadu firmu un es nerunāju uz kādas OS turēt db, httpd, versiju kontroles utt. izstrādes., prod. serverus. Es runāju par darbinieka laptopu, kādas priekšrocības koda, db programmētājam, kas piedalās cross-platform projektu ietvaros ir Ubuntu desktopam salīdzinot ar Windows.
  13. Sviests ir tas, ka 21 gs. neizstrādā (faktiski viena no primārajām biznesa prasībām) sistēmas tikai un vienīgi konkrētai platformai. Tas pat nav iespējams, izņemot ja Tu tiešām rušinies savā smilšu kastē un kā Kavacky teica - programmē vizītkartes. Tāpēc atkārtoju vēlreiz - bezjēdzīgi salīdzināt platformas, ja man laptopu pērkot ir licenzēts Windows, kādas priekšrocības man darbam dod Ubuntu desktop(personīgi kretinē tas distr.), vai kādas priekšrocības programmētājam veicot savus tiešos darba pienākumus ir Arch Linux (daGrevis bildēs). Mož kādam tas ceļ pašapziņu ...
  14. iepriekš nomodelētā situācija bija, ka softu izstrādā uz dažādām platformām, ir klienti ar windows serveriem, citi uz Linux. Tas pats par standalone app, citiem prasības, lai to standalone app sajūdz ar web servisiem caur Windows, citiem caur Linux. Nekur es neminēju, ka izstrāde tiek veikta TIKAI windows platformai!
  15. nevajag jaukt programmēšanas valodas ar operacionālajām sistēmām. PHP ir Cross-platform language
  16. Doma sekojoša: ja mēs rušināmies savā smilšukastē, ok, izvēlamies sev patīkamāko platformu. Bet, ja projekti tiek izstrādāti dažādām platformām, tad ir bezjēdzīgi salīdzināt Windows vs. Linux vs. Mac.
  17. Situācijas modelis: Ir darba laptops ar licenzētu Windows 7, profesija - developer, programmētājs. Projekti tiek izstrādāti dažādām platformām, gan ar MS .net, gan web aplikācijas PHP utt. (bet daudzus pieprasījumus, slēgšanos klāt servisiem standalone aplikācijās veic arī caur .net). Klienti db izmanto gan MySQL, gan PostgreSql, bet OS dažādas. httpd projektos gan Apache, gan IIS. Respektīvi ir klienti, kam sava infrastruktūra un serveri veidoti uz Windows, citiem uz Linux. Nosauciet man vismaz 2-3 argumentētas priekšrocības, ja šo darba laptopu darbinieks - db, softu programmētājs darbinātu uz to kretīnisko desktop Ubuntu distributīvu! p.s. protams var čerez žo*u .net aizstāt ar mono, utt, tikai atkal jautājums: Kapēc sev sarežģīt dzīvi?
  18. Var izlīdzēties ar iconv php pusē vai db līmenī, mysql un postgresql laikam convert() funkcija. Bet vajag risināt cēloni, nevis sekas. Jānoskaidro abu DB kodējums un jāizlemj uz kuru pāriet, ja tas nenojauc konkrētas db prasības. Ja kodējums db nav sačakarēts, tad konvertēšana vairākumā gadījumu būs veiksmīga ...
  19. Kā jau 404 teica, ftp/sftp/scp klientiem nekad nesaglabā lokāli paroles, dabīgi tas attiecas uz visiem lietotājiem, kam pieeja resursam :) Pats uzrāvies, tīrījis kodu n-tās reizes, mainījis paroles, plēsis matus - rezultāts zero. Problēma izrādījās, ka uz viena no lietotāja datoriem Far ftp klients inficēts ar sifilisu ...
  20. vbz

    3D figņas ar JS

    Manuprāt visi mēģinājumi ieviest 3 dimensiju GUI ir izgāzušies. Izņēmums ir, ka plaknē slāni liek virsū citam slānim. Piemēram, ir matrica 10x10, kas satur kaut kādus objektus. Otrais slānis, piemēram, apvieno pirmā slāņa objektus pēc kaut kādas īpašības - grupa_1 .. grupa_n (grupas, piemēram, atšķiras ar krāsu). Trešais slānis ir piemēram 1 slāņa vai 2 slāņa objektu relācijas, kas vizuāli attēlojas ar līnijām, utt. Principā mēs redzam tikai 2 dimensijas un trešā dimensija - slāņi, kas viens otram pārklājas. Atslēdzot/pieslēdzot slāņus, mēs mainām skatus. Klikšķinot uz slāņu objektiem notiek kaut kāds notikums. Plaši pielieto digitālām kartēm, spēlēm un līdzīgām lietām. Bet nekur neesmu redzējis šo principu pielietotu failu pārvaldniekos ( file manager). Piemēram, 1. slānis - faili, 2. slānis - direktorijas, 3. slānis - lietotāju grupas, 4. slānis - lietotāju atļaujas, utt. Ir visādi 3D , rotējoši, staipāmi un tā tālāk darinājumi, kurus darbinot acis un smadzenes sāk kūpēt. Secinājums ir viens, nekas labāks par koku ar failiem un direktorijām attēlotu plaknē nav izdomāts. Starp citu, Windows 8 Metro UI darbojas drusku līdzīgi iepriekš aprakstītajiem slāņiem. Ir "slānis" ar tiles, klikšķinot uz tile, slāņi maina īpašību redzams/neredzams, notiek redzamā slāņa mērogošana, zoomošana, un kkāds grafiskais uznāciena efekts, piem., slide.
  21. vbz

    bbcode

    Ja pareizi sapratu, ko vēlies: http://regexr.com?30qn0
  22. formatē tabulas un šūnas ar css: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>Untitled 1</title> <style> table {border: none; width: 300px;} td {border: 1px solid #05463f;} .one td {margin: 2px; padding: 2px;} .two td {margin: 1px; padding: 1px;} </style> </head> <body> <table class="one"> <tr> <td>Pilsētas informācija</td> </tr> </table> <table class="two"> <tr> <td>Resursu ieguve</td> <td>x122 / stundā</td> </tr> <tr> <td>Koordinātes</td> <td>1:1:27</td> </tr> </table> </body> </html>
  23. Grozam kopējā lapā parasti norāda tikai cik preces grozā, pašu groza saturu parasti spiež 1x pirms pasūtījuma veikšanas. Sesijā var glabāties veca cena, kamēr pircējs tur bakstās pa to veikalu, jebkurā gadījumā pirms pasūtījuma jāčeko db. Tapēc pietiek sesijā ar preces id un daudzumu. ne tikai cena var nomainīties, arī citi parametri - kā skaits noliktavā, atlaides utt, kas maina gala rezultātu. Lai uztaisītu rēķinu, sistēmai jāgriežas pie db pēdējiem datiem.
×
×
  • Create New...