Jump to content
php.lv forumi

bubu

Administratori
  • Posts

    8,897
  • Joined

  • Last visited

Everything posted by bubu

  1. Tvinky: http://www.hudzilla.org/phpbook/
  2. Gribētos zināt, cik tūkstoši vai miljoni tev ir tie lietotāji, ka tik šausmīgi ilgi izpildās? Vismaz varēja būt 1.999 ;) 14035[/snapback] Paskaties tak viņa kodu - tur ir for ciklā viena un tā pati darbība tak ielikta!
  3. .inc faili paši par sevi nav vaina drošībā. Tie var būt slikti tikai kopā ar nepareizi nokofigurētu webserveri, tb, bez direktības "AddType application/x-httpd-php .inc"
  4. Kā tu domā, ko funkcijas dirsize parametros varētu nozīmēt nosaukums dirName? <_<
  5. Nja, tipa viena tante teica...?
  6. 1) priekškam tas vajadzīgs? vai nav vienkāršāk likt iekš db kolonna NULL vērtību, kurai flags ir AUTO_INCREMENT, tādējādi panākot, ka vienmēr arī būs unikālas vērtības? Ja nu tas tomēr neder (lai gan nesaprotu kāpēc) tad tak elementārs cikls (nesaprotu, kā līdz tādam var nedadomāties??): do { $i = rand(10000, 99999); $q = mysql_query("SELECT COUNT(*) FROM tabula WHERE kolonna = $i"); list($cnt) = mysql_fetch_row($q); mysql_free_result($q); } while ($cnt > 0); 2) datubāzes izmēru var noteikt summējot kolonnas Data_length vērtības šādā kverijā: SHOW TABLE STATUS FROM database (sīkāka infa iekš - http://dev.mysql.com/doc/mysql/en/show-table-status.html) a bet direktorijām vienkārši: uzraksti rekursīvu procedūru, kas apstaigā direktorijas un summējot atgriež kopēju izmēru (pameklē pa šito forumu, kautkas tāds jau ne vienrez vien ir bijis te apspriests un rakstīts tam kods) 3) tik vienkāršu aprasktu neatradīsi, un zin, īpaši jau to - kāpēc vispār oop jālieto. Ja tev pietiek ar to kas ir, tad lieto laimīgs un īpaši nesatraucies par to OOP. Var mierīgi iztikt bez tās. (par tiem mainīgajiem klases sākumā - nav taisnība, ka fjām tie nav jādefinē - kas tad fjām ir parametri? tos arī nevajag definēt?) 4) ļoti vienkārši: $datums = mktime(0, 0, 0, 2, 10, 2004); // 2004. gada 10. februāris $info = getdate(); print_r($info); $tagad = mktime(0, 0, 0, $info['mon'], $info['mday'], $info['year']); // tekošais datums $delta = intval(($datums-$tagad)/(3600*24)); if ($delta > 0) { echo "Vēl palikusi(-šas) ".$delta." diena(s)!"; } else if ($datums < $tagad) { echo "Jau pagājusi(-šas) ".(-$delta)." diena(s)!"; } else { echo "Tā ir šodiena!"; } P.S. nemeklē - pabrowsē ierakstus zem OOP sadaļas, īpaši tos, kuriem lielākais atbilžu skaits vai ir visskatītākie!
  7. last_insert_id() atgriež tik pagājušās darbības insert'otā ieraksta id, ja. un par to konkatenēšanu - protams ka tāda iespēja ir! pats tak korektu update teikumu uzrakstīji.
  8. Gaidi versiju, kur būs pieejami trigeri. Šitādas lietas darās caur tiem :)
  9. Pag, es nesaprotu: vai tad šitais ir sintaktiski korekts (izpildoties neizmet nekādu kļūdas paziņojumu?) Manuprāt tur absolūts sviests.
  10. Vai šinī vietā nebija jābūt ==? Zini atšķirību starp = un ==?
  11. bubu

    cms

    artis: te ir labs security guide par php: http://phpsec.org/projects/guide/
  12. Nu nedrīkst šādi rakstīt: mysql_fetch_assoc(mysql_query(..)) !!!! Nu vajag pārbaudīt vai mysql_query() atgriež ne-false vērtību. Vajag! A to citādi būs kā vairuma lapu - visādu php notices ar kļūdu paziņojumiem!! Un pašā lapa nerādīsies normāli. Eh.. tik grūti čekot vai ir korekti dati? Nav brīnums, ka tagad vairums lapu gļuko, ka visi tagad mācās rakstīt bez kļūdu pārbaudēm..
  13. Slinkums stāstīt - nāk miegs. Še lasi - http://lv.php.net/manual/en/install.windows.apache1.php
  14. 1) ehh... cilvēki vairs nemāk skaitīt viens klāt globālam mainīgajam... visvienkāršāk uzraksti savu funkciju: $cnt = 0; funtion q($str) { $GLOBALS["cnt"]++; return mysql_query($str); } Un visur savā kodā, kur izmanto mysql_query(..) aizstāj to ar funkcijas izsaukumu q(..) 2) pārrakstīt tavu kodu netaisos, bet daži ieteikumi: $is_loged_in ir nedefinēts mainīgais koda sākumā! $row[autors] - esi pārliecināts, ka tev ir nodefinēta kostnate autors? varbūt biji domājis rakstīt: $row['autors']?? to vājprātīgo list(...) rindiņu vietā izmanto (pamācies tak cilvēk php!): $q = mysql_query('SELECT * FROM lietotaji WHERE username = "'.$row[autors].'"'); if ($q===false) { // parādi ka notikusi kļūda! un apstādini koda izpildi } $r = mysql_fetch_assoc($q); mysql_free_result($q); if ($r===false) { // nav rindiņu, ko dabūt no db } else { // tagad kodā izmanto savas tabulas kolonnu nosaukumus // piemēram, ja ir tāds lauks id, tad var rakstīt: // echo $r['id'] // ... }
  15. error_reporting() gan atstāj uz E_ALL! Mācīsimies tak vienreiz korektu kodu rakstīt.
  16. bubu

    cms

    Nafig? to jau vajag uz izvilktajiem datiem no mysqla pirms echo'šanas uz browseri.
  17. bubu

    stringi...

    Nez, man gan strādā.
  18. php manuālī ieteikts šāds variants:
  19. bubu

    cms

    No tā ko izdabūju no zipa faila: Mīnusu tur daudz: * drop.php failā nav definēts $id mainīgais kas notiks, ja $id vietā parametram nodošu vērtību: 0 or TRUE atbilde - izdzēsīsies visa tabula * edit.php failā - ja neizmanto regexpus, tad $sadaljas_texc = ereg_replace("\n","<br>",$sadaljas_texc); vietā var rakstīt $sadaljas_texc = str_replace("\n","<br>",$sadaljas_texc); būs daudz ātrāk. tas pats kas drop.php failā - kas notiks, ja $id vietā parametram nodošu vērtību: 0 or TRUE un kas būs, ja sadaļas nsaukumam iedošu tekstu ar pēdiņu tajā? vajag eskeipot datus (mysql_escape_string()) tāpat arī - ja ievietošu te kādu tegu: <h1>blah</h1>, tad pie apskatit_sadaljas.php failā tas arī izvadīsies kā html kods. diez vai tev tāds efekts vajadzīgs, labāk pielieto htmlspecialchars() fju. * grūti lasāms kods - šausmīgi daudz eskeipojumu \" tak vajag iemācīties lietot stringu konkatenāciju . vai dažādas pēdiņas ' un " * pieturies pie viena stila, raksti visu ar mazajiem vai visu ar lielajiem burtiem, tak nevajag rakstīt MYSQL_CONENCT un nākamajā rindiņa mysql_select_db, tāpat arī CSS kodā (BODY)
  20. Ko nozīmē "ar atslēgvārdu apache"? tak direktoriju izdēsi vai nē? ja nē, tad gan jau kautkas palicis tev pāri. ja jā - tad pamēģini skatīties pie procesiem, varbūt tur redzēsi to otru apaci, kas sēž atmiņā. citādi nezinu vairs ko..
  21. bubu

    cms

    Nezinu kā tev, bet man rāda, ka zip fails ir broken.
  22. Cik es saprotu, tad tie AddCharset nozīmē to, ja piemēram, tev fails sauksies fails.html.latin1, tad apache automātiski uzliks ISO-8859-1 enodingu. A par to meta, dažreiz ar to nepietiek. Mozilla browseri vispirms ņem to, kas ir http headerī un tikai pēc tam to kas ir meta tagā. Pamēģini atrast šādu rindiņu: AddDefaultCharset ISO-8859-1 un aizkomentēt to (tb rindas priekšā pielikt # simbolu).
  23. A pēc uninstalēšanas pārbaudīji vai var c:\web\Apache2 direktorija ir visa pazudusi? Varbūt tur palika lieki faili, ne?
  24. Tas paziņojums varētu būt tad, ja tev jau ir apache palaista, un to to laid vēlreiz. Pie tam, lai palaistu apache, nevajag laist apache.exe failu. Izmanto shortcutus, kas izveidoti start menu, vai arī lieto "net start apache2" vai "net stop apache2" start->run izvēlnē!
  25. Nepareizi, nevis httpd.conf failā, bet savā php failā: header("Content-type: text/html; charset=Windows-1257");
×
×
  • Create New...