john.brown
-
Posts
510 -
Joined
-
Last visited
Posts posted by john.brown
-
-
Nu, labi, labi... Neņem pie sirds. Tā vairāk bija spokošanās par tēmas saturīgumu :) Skaidrs, ka reāli taisīt die(), ja cipari nesakrīt nav jēgas... Tak brīnos par jauno "programētāju" prāta spējām...
-
Pieļauju iespēju, ka var iekļauties 3 rindiņās (pati pārbaude, bez ģenerēšanas)
if($_SESSION['control_number'] != $_POST['control_number']) die('Nepareizs validacijas kods');
Ko tu vēl divās rindiņās gribēji likt? :)
-
simts un 1 veidā :) Pats primitīvākais - saglabā uz diska, notepadā izmaini visu, ko gribi, un posto ;)
Cīnīties - neglabāt hidden laukā "ļoti svarīgas" vērtības, bet izmantot sessiju priekš tā, pārbaudīt, vai tu tiešām saņem to, ko gaidi :) Īpaši paranojiskos gadījumos var dublēt sessiju un hidden, tad salīdzināt, vai sakrīt, un ja nē - skaļi bļaut "turiet zagli!" ;) Nu u.t.t.
-
Pareiza oop gadjumā, laikam tomēr "class DB extends mysqli {..}" :)
Bet ja iespringsti uz dažādu db izmantošanu, tad fasādes klase, un draiveru klases dažādām db. Kaut kā tādā stilā:
class DB { private $db_driver = NULL; public function __construct($driver_name) { $this->db_driver = new $driver_name(); } public function insert($table,$values) { $this->db_driver->insert($table,$values); } ... } class Mysqli_db { ... } class Postgre_db { ... }
-
Mīļumiņ, bet tu ar lasīji, kas tur pirms tās formiņas bija rakstīts?
I've disabled the db lookup, but [email protected] should provide a "Email Address already used" error.Tak tas ir tik piemērs, kā taisīt ajax, nevis smalka formas validācija ;)
-
Nu, fig znajet... Es kādreiz sāku ar Perl, kur var vēl vairāk "sazin kā"... Un nekas, kad sāku putroties globālajos variabļos , sapratu, ka jālieto "use strict" ;) Un sapratu, kāpēc nav jālieto globālie variabļi... Apmācība caur pretējo, ja tā var teikt ;) Man šķiet, ja galva nav iekārtota pareizajā virzienā, tad nesapratīs nekad, bet ja ir - pilnīgi pof, kādā valodā mācīties...
p.s. kaut arī, tev, protams, taisnība. c++ vai jav krietni ātrāk pieradinās pie kārtības :D
-
Var dažādi, atkarībā, ko vajag :) Tikai ne tā, kā tev ir darīts. Un, ja gribi oop, lieto php5. ātrāk pie skaidrības varbūt tiksi...
class Klase_1{ private $mainigais_clas1 = NULL; public function __construct() { $this->mainigais_clas1 = 'Klases 1 mainigais'; } public function class1_func(){ echo $this->mainigais_clas1; return $this->mainigais_clas1; } } class Klase_2{ private $class1_obj = NULL; public function __construct(Klase_1 $class1_obj) { $this->class1_obj = $class1_obj; } public function class2_func() { //man jālieto ir pirmas klases funkcija $this->class1_obj->class1_func(); } } $klass2 = new Klase_2(new Klase_1()); $klass2->class2_func(); //jaizvada 1 klases funkciju
class Klase_1{ private $mainigais_clas1 = NULL; public function __construct() { $this->mainigais_clas1 = 'Klases 1 mainigais'; } public function class1_func(){ echo $this->mainigais_clas1; return $this->mainigais_clas1; } } class Klase_2 extends Klase_1{ public function class2_func() { //man jālieto ir pirmas klases funkcija $this->class1_func(); } } $class2 = new Klase_2(); $class2->class2_func(); // izvada pirms klases funkciju $class2->class1_func(); // arī izvada pirmās klases funkciju;)
Ak jā, un ja jēgā gribi tikt, tad definē tomēr katrai klasei mainīgos sākumā, un nevis lieto fīču, kura ļauj šos radīt on the fly
-
pagaidām, ja īpaši neko nenorāda tad visu var izmantot visur
Un kurš tad liedz visu norādīt kā pienākas? Priekš tā jau tās norādes private, protected, public ir ieviestas, lai lietotu ;)
-
2 Blitz
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides "Design patterns"
2 v3rb0
Nu nav gluži taisnība. php5 ir pilnīgi piemērots oop apgūšanai. Gan java vai c++ prakse, protams, nāk par labu...
-
Nu, tad WebZip, un uz priekšu :)
-
Un kā tu domā, kādas atbildes pēc šitā "opusa" tev tiks dotas? Pieklājību tev neviens nav mācījis?Aaaksti gatavie... es maku programmet normali, tacu neesmu macijies javascript... man likas ka sitais ir palidzibas forums nevis dirseju forums
Ja esi tik kruts "programmētājs", tad nebija nekādu problēmu paskatīt javascript manuāli, un saprast, kas un kā darās. Vēl jo vairāk, tev pateica priekšā, kādas funkcijas tev vajadzīgas. Tie ir web programēšanas pamati...
Bet vai tev nav zinams kods kur jau tas ir izdarits
Tas laikam gan nav brēciens pēc gatava koda, ne? Te ir nevis labdarības forums, bet "palīdzības" forums programmētājiem. Un nevis sliņķiem, kuri nevēlas paši domāt un mācīties!
-
Bubu, es to netiku domājis tik burtiski :D Tomēr runa iet par php, un tā ietvaros neko sakarīgāku par oop laikam iedomāties grūti...
-
Tas viss atiecas pagaidām uz tā saukto datu slāni. Tak oop labumi ir daudz plašāki :) OOP ļauj strukturēt visu programmu loģiskajās vienībās un slāņos, kas uzlabo gan programmas struktūras saprašanu, gan atvieglo izmaiņu veikšanu vajadzības gadījumā. Kā visplašāk pazīstamo var pieminēt model-view-controller paternu. Ideālā gadījumā mēs varam mainīt jebkuru no trīs slāņiem, neaiztiekot pārējos...
Nu, un protams OOP ir koda daudzkārtējā izmantošana. Atkal ņemot to pašu mvc, mēs rakstam kaut kādas bāzes klasses, kuras realizē vai definē katra slāņa interfeisu un savstarpējo viņu darbību, un izmantojam tās visos savos projektos, pierakstot klāt tik atsevišķas specifiskas lietas. Uz šī bāzes tiek realizēti vairums freimvorku...
Tak foruma ietvaros ir diezgan nereāli izskaidrot kāpēc tieši oop ir labs. Var ieteikt tik lasīt par šo tēmu, piem. četru bandas "Projektēšanas patternus", vai par php5 "PHP 5 Objects, Pattens and Practice", Matt Zandstra. Nu, un ietekmējoties no lasītā, mēģināt pašam ko rakstīt tādā stilā. Iesākumā liksies dīvaini, bet tad smadzenēs kaut kas noklikšķēs, un vairs citu programēšanas stilu lietot negribēsies ;)
-
Cik var par vienu un to pašu ;)
Nelieciet php no installera!
1)Uzliec normālu binary.
2) iekš php.ini norādi extension_dir=C:\php\ext priek php5 vai c:\php\extensions priekš php4
3) atkomentējam vajadzīgo extensionu
Jau kādu ceturto reizi šito rakstu! Vai tiešām search lietot nevar :(
artis
No zipa izvelc to php_gd2.dll un iemet extensions mapē.
Ļoti nav fakts, ka ies. Versijas var izrādīties dažādas...
-
droši, php atkal no installera stādīts? ;)
-
Īsti nesapratu, ko tu tur dari. Bet izskatās, ka tev vajag ko šitādu:
$varx = 'varx contents'; $name = 'var'; $name.= 'x'; echo $$name;
-
Un ko tā? Seekbots tā arī saka: No information could be accessed? Vai tipa tā? Varbūt sākumam pēdiņas pieliec pie keywords, un samaini vietām content un name. Sīkumi, bet var būt pie vainas. Sevišķi tizlais pieradums nelietot pēdiņas ;)
-
2 goldy
kad vienreiz sapratīsies, ka OOP jēga parādās tikai tad, ja to uztaisa fleksiblu, var bez sāpēm nēsāt no viena projekta uz otru un bez nekādām izmaiņām to tur pielietotBet tā jau ar ir. Sāc rakstīt oop, pielietot design patterns, un pēc kāda laika jauns projekts sākas ar to, ka tu kopē folderī klašu "skeletu", un pieliec klāt tik atsevišķas ekstensijas pamat klasēm :) Rakstīt kļūst jauki un patīkami :P
Bez tam koda pavadīšana iekš oop ir daudz reālāka, kā procedūrās - tu pilnīgi noteikti zini, kur kas atrodas, nekādu rakšanos caur libiem, tipa "ar kur es to funkciju iebāzu"...
Nē, kad esi iebraucis iekš oop kaifiem, atteikties no tiem vairs negribas :)
-
Atvainojos par garo penteri, bet jēga tam būtu apm. tā:
class News { private $id = NULL; private $title = NULL; private $foto = NULL; private $text = NULL; private $cat_id = NULL; private $date = NULL; public function set($key,$value) { if(isset($this->$key)) { $this->$key = $value; } } public function get($key) { if(isset($this->$key)) { return $this->$key; } } public function fill($row) { foreach($row as $key => $value) { $this->set($key,$value); } } } class NewsMapper { public function find($id) { $res = mysql_query("SELECT * FROM news WHERE id=$id"); $row = mysql_fetch_array($res); $news = new News(); $news->fill($row); return $row; } public function findByCategorie($cat_id,$ofset = 0,$limit = 10,$order = 'date') { // te dabonam ziņas kategorijai // atgriežam kā objektu massīvu } public function findByDate($date_no,$date_lidz) { // te dabonam ziņas pēc dauma // atgriežam kā objektu massīvu } public function save(News $news) { // te saglabājam ziņu datubāzē } } $zinuMappers = new NewsMapper(); // atrodam ziņu pēc id $zina = $zinuMappers->find($zinasId); // dabonam ziņas kategorijā $zinas_kategorija = $zinuMappers->findByCategorie($cat_id); // dabonam ziņas noteiktā laika periodā $zinas_pec_laika = $zinuMappers->findByDate($datums_no,$datums_lidz); // izmainam ziņu un saglabājam $zina->set('title','Jauns virsraksts'); $zinuMappers->save($zina);
Protams, tik kā ilustrācija. Lasi par design patterns un oop pamatiem
-
2Roze
Laikam ir gan. Kā savādāk viņš šito pateiktu:
Fatal error: Call to undefined function render_header() in E:\Program Files\wamp\www\fushion\subheader.php on line 29
2moby
Tak paskaties sākumam, kur tev funkcija render_header() padējusies :)
P.S. Nu jā, un <? nomaini uz <?php. bubu droši taisnība :)
-
Tā kā jānis ir apsaukts par $id (pirmajā postā), tad es pieņēmu, ka tas ir unique id :) Kaut nevar noliegt - var būt arī nav. Autors par to neko ziņojis nav ;))
-
2 blackhalt
Tā gan laikam īsti labi nebūs. Iedomājies, tev failā ir 1000 rindu, jānis ir, piem. 3. Un ko, viņš izvedīs infu par jāni, un tālāk pārlasīs 997 rindas? :) Bez tam arī foreach dotajā gadījumā ir lieks - izpildās krietni lēnāk par for().
<?php $lines=file('data.txt'); $count = sizeof($lines); for($i = 0;$i < $count;$i++) { $a=explode('|',$line); if($_GET['id']==$a[0]) break; } echo'<h1>Personas dati</h1>'; echo'<h2>'.$a[1].'</h2> <p>Year: '.$a[2].'</p> <p>City: '.$a[3].'</p> <p>Atrodas data.txt rindā: '.($i+1).'.</p>'; // vispaar saak skaitiit no 0, ja der, tad bez +1 ?>
-
Un aizverošā figūriekava vajadzīga nav?
else if (empty($_GET['l'])){
include("paintball.frg");
Vispār, vajag iekš php.ini likt error_reporting = E_ALL. Tad viņš tev ar ko stāstīs par kļūdām...
-
IMHO, tam tā vajadzētu izskatīties. Testējis gan neesmu, tak pēc loģikas, vajadzētu iet :)
<?php $days_this_month = 31; // te dabunam konkreta menesa dienu skaitu $query = "SELECT room_id FROM rooms"; $res = mysql_query($query); ?> <table> <? while($row = mysql_fetch_array($res)) { $occupied = get_occupied_dates($row['room_id']); echo '<tr>'; for($i = 1; $i <= $days_this_month; $i++) { $class = in_array($i,$occupied)? 'occupied' : 'free'; echo '<td class="'.$class.'">'.$i.'</td>'; } echo '</tr>'; } ?> </table> <? function get_occupied_dates($room_id) { $occupied = array(); $query = "SELECT DAY(oc_from) as oc_from, DAY(oc_to) as oc_to FROM activity WHERE room_id=$room_id"; $res = mysql_query($query); while($row = mysql_fetch_array($res)) { $occ = range($row['oc_from'],$row['oc_to']); $occupied = array_merge($occupied,$occ); } return $occupied; } ?>
Jūklis kodējumos...
in PHP un datubāzes
Posted
Saskāros ar problēmu. Kāds gudrinieks bija taisījis projektiņu, un db tabulām kodējumu uzlicis latin1_swedish_ci, kaut kā dabūjis tur iekšā 1257, un tas viss ir gājis. Tagad vairs neiet... Ar vien vārd sakot, ko var darīt? Vai var kā nokonvertēt to db saturu uz 1257, vai ko citu izdarīt?