Jump to content
php.lv forumi

aika

Reģistrētie lietotāji
  • Posts

    296
  • Joined

  • Last visited

Posts posted by aika

  1. ir tabula ar notikumiem

    +1 datums1

    +8 datums1

    -2 datums1

    -3 datums1

    -1 datums2 utt

     

    nepieciešams izveidot pieprasījumu, kas atgrieztu rezultātu, sagrupētu pa datumiem un sasummētiem notikumiem pēc moduļiem:

    +9 -5 datums1

    -1 datums2

     

    jūtu ka atbilde ir kautkur tepat līdzās, bet ...

    atbildēm paldies jau iepriekš!

  2. ar ajax esmu uz Jūs tāpēc nestādos priekšā kā while procesam pa vidu jamo iestellēt.

    apjoms nav milzīgs, vnk pērvelk 30 sek robežu - tiek skanēta dira ar kādiem 5K objektu, kas tiek salīdzināti ar db ierakstu - ir vai nav un dzēsti attiecīgi.

  3. ir kāds laika izpildē pagarš skripts (nodarbojas ar nepiesaistītu failu dzēšanu, salīdzinot tos ar db ierakstiem)

    ir vēlme :

    vai nu limitēt tā izpildi, sekojot patērētajam laikam un pārtraukt ciklu, lai var izvadīt rezultātu (pēc tam var palaist vēlreiz - neapgrūtinās)

    vai nu piečakarēt browseri, izvadot starprezultātus

    (iestatīt time out lielāku nav vēlmes un arī iespējas (laikam) - pasākums hostējas)

     

    paldies par ieteikumiem jau iepriekš!

  4. this.width strādās tikai tad, kad atbilstošajam elementam būs width="" uzlikts un to vērtību arī rādīs.

    Ja vajag elementa pašreizējo platumu, tad lieto this.offsetWidth

    nope - nestrādā ne this.offsetWidth, ne width parametra padošana no php puses

  5. taisu bildes priekšapskates fonkciju. (jQuery utt)

    php pusē: <A class='preview' HREF='bilde_liela.jpg' title='virsraksts'>

    $("a.preview").hover(function(e){
    	this.t = this.title;
    	this.title = "";	
    	var c = (this.t != "") ? "<br/>" + this.t : "";
    	$("body").append("<p id='preview'><img src='"+ this.href +"' alt='Image preview' />"+ c +"</p>");								 
    	$("#preview")
    		.css("top",(e.pageY - xOffset) + "px")
    		.css("left",(e.pageX + yOffset) + "px")
    		.fadeIn("slow");						
       },

    1v. mēģināju no php puses iebarot platumu/2 kā mainīgo w: <A class='preview' HREF='bilde_liela.jpg' w='$PuseNoPlatuma' title='virsraksts'>

    <img src='"+ this.href +"' width='" +this.w + "' ...
    - nestrādā

    2v. mēģināju javas pusē dabūt platumu:

    this.width/2
    - uzrāda kā undefined

    mēģināju javas pusē lādēt bildi un dabūt platumu:

    var newImg = new Image();

    newImg.src = this.href;

    var width = newImg.width/2; ...

    ... <img src='"+ this.href +"' width='" +width + "' ...

    - beidzot strādā, taču sāka baigi bremzēt!

     

    Jautājums - kāpēc nestrādāja 1 un 2 (ja jau this. kā noprotu ir bildes objekts) variants?

    vai varbūt ir loģiskāki un ātrāki veidi?

  6. starpcitu - pa šo laiku sagūglēju vēl vienu variantu, as izsakāms ar 1 rindu:

     

    $texts=str_replace(array_keys($smilies), array_values($smilies), $texts);

     

    kur

    $smilies=array(    ':)' => "<img src='images/smile.gif' />", ':(' => "<img src='images/sad.gif'   />", ...

  7. ir uzpeldējis uzdevums nodrošināt :) aizstāšanu ar grafisko ģīmi.

    mēģinot pielāgot esošus kodus, esmu ticis tiktālu ka sadzenu smaiļus masīvā:

      function loadSmileyTheme()
     {
       $theme = file("smileys/theme.txt");
       $result = array();
       foreach($theme as $line)
       {
         $line = trim($line);
         if (preg_match("/^#.*/",$line))
           continue;
         else if (preg_match("/([a-z_\-0-9\.]+)(.*)$/i",$line,$res))
         {
           $smiley_file = 'smileys/'.$res[1];
           $smiley_str = trim($res[2])."\n";
           $smiley_str = str_replace("\n", "", $smiley_str);
           $smiley_str = str_replace("\t", " ", $smiley_str);
           $smiley_str_tab = explode(" ", $smiley_str);
           foreach($smiley_str_tab as $str)
             $smiley_result[$smiley_file][] = htmlspecialchars(addslashes($str));
         }
       }
    
     }

    theme.txt pielikumā

    būtībā 1 rinda tajā izskatās sekojoši: icon_smile.gif :smile: :-) :)

     

    tālāk esmu iesprūdis, jo mehānismu kā stringu apstrādāt ar iegūto masīvu, nevaru izpīpēt.

    Labprāt uzlausīšu arī citas idejas, kā izpildīt esošo uzdevumu.

    paldies jau iepriekš!

  8. uz FF viss ok, bet IE ieķerās 35 rindas 4 charā (error expected identifier, string or number: code 800A0404)

    35 rinda ir :" });"

    /* 
    Created by: Kenrick Beckett
    
    Name: Chat Engine
    */
    
    var instanse = false;
    var state;
    var mes;
    var file;
    
    function Chat () {
       this.update = updateChat;
       this.send = sendChat;
    this.getState = getStateOfChat;
    }
    
    //gets the state of the chat
    function getStateOfChat(){
    if(!instanse){
    	 instanse = true;
    	 $.ajax({
    		   type: "POST",
    		   url: "process.php",
    		   data: {  
    		   			'function': 'getState',
    					'file': file
    					},
    		   dataType: "json",
    
    		   success: function(data){
    			   state = data.state;
    			   instanse = false;
    		   },
    		});
    }	 
    }
    
    //Updates the chat
    function updateChat(){
     if(!instanse){
    	 instanse = true;
         $.ajax({
    		   type: "POST",
    		   url: "process.php",
    		   data: {  
    		   			'function': 'update',
    					'state': state,
    					'file': file
    					},
    		   dataType: "json",
    		   success: function(data){
    			   if(data.text){
    					for (var i = 0; i < data.text.length; i++) {
                               $('#chat-area').append($("<p>"+ data.text[i] +"</p>"));
                           }								  
    			   }
    			   document.getElementById('chat-area').scrollTop = document.getElementById('chat-area').scrollHeight;
    			   instanse = false;
    			   state = data.state;
    		   },
    		});
     }
     else {
    	 setTimeout(updateChat, 1500);
     }
    }
    
    //send the message
    function sendChat(message, nickname)
    {       
       updateChat();
        $.ajax({
    	   type: "POST",
    	   url: "process.php",
    	   data: {  
    	   			'function': 'send',
    				'message': message,
    				'nickname': nickname,
    				'file': file
    			 },
    	   dataType: "json",
    	   success: function(data){
    		   updateChat();
    	   },
    	});
    }
    

  9. lietoju sekojošu pārbaudi lietotājvārdam:

    preg_match('/^[a-zA-Z0-9][\w]+[a-zA-Z0-9]$/' ...

    savajadzējās atļaut arī '.', saguglēju sekojošu sintaksi:

    preg_match('/^[a-zA-Z0-9\.][\w]+[a-zA-Z0-9\.]$/' ...

    taču '.' tik un tā netiek akceptēts!

    what's wrong?

  10. <div class="dialog" style="width:200;" >
    <div class="hd"><div class="c"></div></div>
    <div class="bd">
     <div class="c">
      <div class="s"> 
    <TABLE width="100%" border="0" cellspacing="0" cellpadding="0" >
    ...
    vai 
    <TABLE width="200" border="0" cellspacing="0" cellpadding="0" >
    
      </div>
     </div>
    </div>
    <div class="ft"><div class="c"></div></div>
    
    

     

    Problēma - uz FF viss kārtībā, bet uz IE (8) tabula lien ārā no <div class=dialog>

    css:

    .dialog {
    margin:0px auto;
    min-width:20em;
    }
    
    .dialog .hd .c,
    .dialog .ft .c {
    font-size:1px; /* ensure minimum height */
    height:11px;
    }
    
    .dialog .ft .c {
    height:14px;
    }
    
    .dialog .hd {
    background:transparent url(/css/tl.png) no-repeat 0px 0px;
    margin-right:14px; /* space for right corner */
    }
    
    .dialog .hd .c {
    background:transparent url(/css/tr.png) no-repeat right 0px;
    margin-right:-14px; /* pull right corner back over "empty" space (from above margin) */
    }
    
    .dialog .bd {
    background:transparent url(/css/ml.png) repeat-y 0px 0px;
    margin-right:6px;
    }
    
    .dialog .bd .c {
    background:transparent url(/css/mr.png) repeat-y right 0px;
    margin-right:-6px;
    }
    
    .dialog .bd .c .s {
    margin:0px 8px 0px 4px;
    background:transparent url(/css/ms.png) repeat-x 0px 0px;
    padding:1em;
    }
    
    .dialog .ft {
    background:transparent url(/css/bl.png) no-repeat 0px 0px;
    margin-right:14px;
    position:relative;
    }
    
    .dialog .ft .c {
    background:transparent url(/css/br.png) no-repeat right 0px;
    margin-right:-14px;
    

  11. Viens no relatīvi vienkāršiem, bet pietiekami efektīviem variantiem. Pieņemsim, ka tā tabula saucas Personas. Šai tabulai web-aplikācijā izmantotajam DB lietotājam ļaujam darboties ar šo tabulu tikai izmantojot "Stored procedure" -

    diemžēl nederēs - dati ir arī jānolasa, jānodod darījumā iesaistītajām personām!

  12. Pret SQL dampu var līdzēt tikai drošas sistēmas veidošana. PHP līmenī tas ir aizsardzība pret SQL injekcijām, līkām inklūdēm, eval izteiksmēm. OS līmenī tā ir sekošana softu jaunākām versijām, security updeitiem utml.

     

    Šifrēšana tev neko nelīdzēs, ja ļaundaris tiks pie atšifrēšanas koda/parolēm, kuras protams tev tur kautkur būs, ja ar glabājamiem datiem vajag operēt.

     

    Reku palasi Alekeseja savāktos linkus par drošību: http://php.lv/f/topic/14308-dokumentipamacibas-par-php-un-web-aplikaciju-drosibu/

    nu pret inklūdiem un injekcijām esmu nodrošinājies...

    linkus palasīšu

  13. Ir datu bāze (mysql), kas satur personu privātos datus.

    Kādi pasākumi būtu jāveic šo datu aizsardzībai (pret sql dampu piemēram).

    Db pārvaldei tiek lietots pnpMyAdmin. Viss stāv uz pie hostera uz Unix.

    Varbūt ir nepieciešams šifrēt?

×
×
  • Create New...