Jump to content
php.lv forumi

Toms

Reģistrētie lietotāji
  • Posts

    427
  • Joined

  • Last visited

Posts posted by Toms

  1. echo $delete;

    tieši pirms unlink. Vai ceļš ir pareizais? Varbūt pašam failam vajag uzlikt 0777? Un tad tu saprastu, ka neeksistē tāds "$rows->image".

    Jo ar mysql_fetch_array() tu netiksi klāt vērtībai ar $rows->image;

    Lieto mysql_fetch_array() un $rows['image'];

    Vai mysql_fetch_oject() un $rows->image;

     

    Kāpēc jūs paši nemaz negribat debugot, pameklēt vainu??

  2. Manuālī neredzēju iespēju replicēt tikai tabulas.

    Man vēl bija otra versija, ka slave serveri slēdzas katru reizi pie galvenā un nolasa vajadzīgo info (pašiem salve nebūtu lokālā DB). Bet noteikti būtu manāms ātruma samazinājums?

     

    Šim otram variantam trūkums uz to, ka ja kāds no slave nav pieejams (timeout?), tad nenotiek izmaiņas.. Hmm, risinājums laikam būtu masteram sūtīt pieprasījumu, kamēr saņem atbildi par veiksmīgi izpildītu.

    Arī mazliet sarežģītāks risinājums.

     

    Vēl būtu interesants jautājums, kā lietotāja sesiju starp serveriem noorganizēt aktīvu.

    EDIT: googlē daudz lasāmā par vienu sesiju uz dažādiem serveriem, gan tikšu skaidrībā.

  3. Sveiki!

     

    Ir veikals, kas notulkots trīs valodās. Katrai valodai savs domēns: .lt, .lv, .de. Katram domēnam attiecīgajā valstī ir savs serveris (hostings). Visas trīs lapas jāvar vadīt no viena CMS. Galvenais - kā veidot komunikāciju sistēmu starp visiem serveriem tā, lai informācija nepārklātos un nebūtu lēna lapas ielāde? Ir vairāki risinājumi, bet grūti saprast, kurš būtu labākais.

     

    Pirms izsaku savus variantus, gribētu dzirdēt svaigas idejas no malas (lai neietekmētos no manām).

  4. Par koda kārtīgu rakstīšanu - salīdzināsim ar latviešu valodu. "by default" mākam rakstīt normālā latviešu valodā, ar komatiem un iztiekot bez visādiem vipendroniem.

    Labāk lasās normāli konstruēti teikumi ar komatiem, mīkstinājumzīmēm un bez slenga vārdiem, vai ne?

    Ja nemāki rakstīt smuku kodu "by default", tad pielīdzini sevi tādam cilvēkam, kas nemāk vai negrib normāli rakstīt "cilvēku" valodā. Apmēram tā. Manu domu vajadzētu saprast. Un šī nav tēma par ko strīdēties, jo jāraksta ir tā, kā jāraksta. Ir cilvēki kas neraksta un tur neko padarīt.

  5. _makeSafe() paredzēta ievietošanai iekš DB, makeSafe paredzēta outputam.

    Man arī INT datu tips tiek laists cauri tāpat kā jebkurš teksts. Kāpēc ne?

     

    	/**
    * @desc Escape variable
    * @param string $var
    * @param boolean[optional] $singlequotes Lai aizvāktu singlequotes konkrētajam mainīgajam.
    */
    function _makeSafe($var, $singlequotes = true)
    {
    	// Aizvāc automātiski saliktās slashes
    	get_magic_quotes_gpc() ? $var = stripslashes($var) : null;
    	// eskeipo
    	return ($singlequotes ? "'".mysqli_real_escape_string($this->link,$var)."'" : mysqli_real_escape_string($this->link,$var));
    } /* _makeSafe */
    /**************************************************************************/
    
    /**
    * @desc Nodrošina drošu outputu
    * @param string $var
    */
    function makeSafe($var){
    	return htmlentities($var,ENT_QUOTES,'utf-8');
    } /* makeSafe */
    /**************************************************************************/

  6. Arī centīšos atbildēt, lai mani palabo bubu, ja kaut ko ne tā izprotu.

    empty() Return Values

     

    Returns FALSE if var has a non-empty and non-zero value.

     

    The following things are considered to be empty:

     

    * "" (an empty string)

    * 0 (0 as an integer)

    * "0" (0 as a string)

    * NULL

    * FALSE

    * array() (an empty array)

    * var $var; (a variable declared, but without a value in a class)

  7. Lietojot switch nav vajadzības pārbaudīt pret ļaunām vērtībām, jo viss sliktais aizies uz default.

    Šeit es darītu šādi (IMHO vieglāk lasāms kods)

     

    $_GET['tips'] = (isset($_GET['tips']) ? $_GET['tips'] : 0);
    switch($_GET['tips']){
    case 1: $msg='Tu pirmā tipa lietotājs'; break;
    case 2: $msg='Tu esi otrais tips'; break;
    default: $msg='Tu esi, kaut kas netipisks. Man bail!';
    }

  8. Tādā veidā horizontālu menu taisīt ir &^%*.

    Tikko uzcepu piemēru, kā ir labāk: http://paste.php.lv/7750

     

    manu_left.png ir maza 10px plata bildīte, kas attēlo "taba" kreiso locījuma vietu.

    menu_right.png ir riktīgi plata bildīte, kas attēlo "taba" labo locījumu bildītes labajā malā un pa kreisi no tā garu taba fōnu, kas atļauj taisīt dažāda garuma tabus, jo tas, kas paliek no menu_right.png pāri, nav redzams (šaura taba gadījumā).

    Ceru, ka izteicos saprotami.

     

    P.S. <div> by default ir block tipa elements.

     

    EDIT:

    Kāsataisīt, lai bilde būtu uz vienu div backgroundā šādi: ( | ) tipa trīs sadaļas? malas statiskas, vidus replejojas!

    Šis piemērs to uzreiz atrisina.

  9. Vai šis būtu vienīgais lielais iemesls, lai nelietotu sesijas?

    ...Uz servera nav jāglabā sesijas dati (tam ir paredzēts $user_data[5]), līdz ar to var vienkāršāk veidot klāsterus (jo savā starpā nav jāsinhronizē sesijas dati)...
  10. Kad no salt ir jēga piekļūstot gan kodam, gan DB? Es izmantoju šādu triku:

    	/**
    * @desc Atgriež paroli ar salt + md5()
    * @param $pass string
    * @param $newPass boolean Vai ģenerēt jaunu paroli? (reminderam)
    * @param $newPassLen int Jaunās paroles simbolu skaits
    * @return void
    * @version 0.1
    */
    function password($pass,$newPass = false,$newPassLen = 5)
    {		
    	if ($newPass) {
    		return substr(md5('salt'.time().'salt2'.time()),0,$newPassLen);
    	}
    	return md5('salt'.$pass.'salt2'.$pass);
    } /* password */
    /**************************************************************************/

×
×
  • Create New...