Jump to content
php.lv forumi

eT`

Reģistrētie lietotāji
  • Posts

    361
  • Joined

  • Last visited

Posts posted by eT`

  1. tagadējais kods.

    nomainīju followlocation uz 1 un pievienoju COOKIEJAR

    bet cepumi nesaglabājas.

    fails arī netiek rediģēts.

     

    kā pēc tam, kad forma mani pārmet uz to neeksistējošo lapu redirectot uz man vajadzīgo?

    pirms curl_close ielikt vēl vienu CURLOPT_URL ?

     

     

           $kuk = '/tmp/cookie.txt';
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,'http://xxx.com/cgi-bin/wspd_pcdb_cgi.sh/y/ylogin.php');
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch, CURLOPT_HEADER,1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'account_number=xxx&user_name=xxx&user_password=xxx');
    curl_setopt ($ch, CURLOPT_COOKIEFILE, $kuk);
    curl_setopt ($ch, CURLOPT_COOKIEJAR, $kuk);
    curl_exec($ch);
    curl_close($ch);
    

  2. Tātad man no vienas lapas vajag izvilkt datus.

    Dodoties tajā lapā caur cURL pārmet uz lapu kur ir poga login.

    Izdomāju pa taisno doties uz logina lapu.

    Tālāk aizpildu ar cURL formas datus un mani pārmet uz citu failu [ parāda ka uz localhost tāda nav ]

    Man vajadzētu, lai pēc formas aizpildīšanas tiktu saglabāti cookies [ visi, kādi tiek saņemti pie formas aizpildīšanas ]

    un tālāk, lai skripts aizved un manis caur $_POST padoto linku [ šoreiz jau ja ir cookies saglabāti vajadzētu būt ok laikam ]

     

    cURL kods

           $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,'http://xxx.com/cgi-bin/wspd_pcdb_cgi.sh/y/ylogin.php');
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch, CURLOPT_HEADER,1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'account_number=xxx&user_name=xxx&user_password=xxx');
           curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
    $raw = curl_exec($ch);
    curl_close($ch);	
    echo $raw;
    

     

    ar šādu kodu mani pēc cURL izpildīšanās pārmet uz failu - http://localhost/cgi-bin/wspd_pcdb_cgi.sh/y/yswitchnews.p

    vajadzētu lai nepārmet uz to failu, bet uz manis caur $_POST padoto, un tad saglabā DOM, kuru pēc tam varu izķidāt.

  3. Nezinu, kas ir nepareizi.

    Sekoju Wiki sadaļas pamācībai.

     

    header.php [ tiek inklūdots index.php ]

    <script type="text/javascript" src="js/simpleCart.js"></script>
    <script type="text/javascript">
    simpleCart.email = "xxx@xxx";
    simpleCart.checkoutTo = PayPal;
    simpleCart.cartHeaders = [ "Name" , "Price" , "Quantity" , "Total" ];
    </script>
    

     

    index.php

    <div id="simpleCart_total"></div>
    

     

    pirkt.php [ tiek inklūdots index.php ]

    echo '<td>' . $bilde . '</td><td valign="top" class="simpleCart_shelfItem"><b><font class="item_name">' . $virsraksts . '</font></b><br />
    <b>Cena:</b> <font class="item_price">'.$arr_kopa["cena"].'</font> Ls<br />
    <br />' . $apraksts . '<br /><br /><a href="javascript:;" class="item_add">Iznomāt</a>';
    echo "</td>";
    

  4. Nu paskatījos, ko tur labu var atrast.

     

    Man laikam vajadzīgs, kas šāds:

     

    <a href="#" onclick="funkcija('.$id.','.$summa.')">Pirkt</a>

     

    Pati f-ja:

     

    <script type="text/javascript">

     

    function=funkcija(id,sum) {

    var preces = preces + ',' + id;

    }

     

    </script>

     

    šādi laikam viņš preces ieliktu mainīgajā.

    Bet, kā būs ar summu?

    Javascriptā ir iespēja saskaitīt mainīgos [ jo ar + cik saprotu viņš apvieno variabļus ]

    un kā notiek SQL daļa?

    es brīvi JS varu likt <?php kveriji itd. ?> ?

     

    Un kā noteiktā vietā izvadīt to summu [ divā ar definētu ID ]

  5. Kādam nav aizķēries [ der arī ideja kā uztaisīt ] vienkāršs skripts, kas nospiežot uz linka, palaiž JS, kas, savukārt, pievieno

    $_SESSION[] tipa masīvam datus, kas tiek padoti caur URL [ ID ].

     

    + kā uztaisīt, ka būs bloks

     

    <div id="">

     

    </div>

     

    un pēc pirkšanas pogas nospiešanas šis bloks tiek pārlādēts [ tas laikam tajā pašā skriptā ]

  6. index

    <div class="left_header">
       Jaunākais
       </div>
       <?
    include_once('tmp/tabber.php');
    ?>
    

     

    tabber

    <div class="tabber">
    
         <div class="tabbertab tabbertabdefault" title="FORUMĀ">
           <?php
    	for($i=1;$i<11;$i++)
    	{
    	echo '<li><img src="' . $_SITEURL . '/templates/v1/images/new.png" /><a href="#">Foruma ieraksts</a></li>';	
    	}
    	?>
         </div>
    
         <div class="tabbertab" title="BANOS">
           <?php
    	for($i=1;$i<11;$i++)
    	{
    	echo '<li><img src="' . $_SITEURL . '/templates/v1/images/new.png" /><a href="#">Bans</a></li>';	
    	}
    	?>
         </div>
    
         <div class="tabbertab" title="ČATĀ">
           <?php
    	for($i=1;$i<11;$i++)
    	{
    	echo '<li><a href="#">Čata ziņa</a></li>';	
    	}
    	?>
         </div>
    
    </div>
    

     

    un header.php

    <script type="text/javascript" src="<?=$_SITEURL?>/templates/v1/js/tabber.js"></script>
    

  7. Tamm man ir includots fails, kurš sastāv no 3 tabiem, un pirms JS pilnīgas ielādes, visi tabu elementi parādās viens zem otra, un tikai tad sakārtojas pareizi.

    Lai gan JS ielādējas ~0.5sek tik un tā to var redzēt.

     

    Gribētos zināt, kā var uzlikt, lai to include ielādē tikai tad, kad laa ir pilnībā ielādētā, un kamēr lapa nav ielādēta rāda kaut kādu loading riņķīti vai ko tādu.

  8. Paldies, izdevās.

     

    CSS

    .clearfix:after {
       content: ".";
       display: block;
       height: 0;
       clear: both;
       visibility: hidden;
    }
    

     

    un pirms monitors noslēdzošā DIV tagad ieliku - <div class="clearfix"></div>

  9. nomainīju

     

    <div class="monitors" align="center">
    <div class="mon_header">XXX</div>
    AAA
    <br />
       <a href="#" id="1-show" class="showLink" onclick="showHide('1');return false;">Spēlētāji</a>
       <div id="1" class="more">
       <a href="#" id="1-hide" class="hideLink" onclick="showHide('1');return false;">Paslēpt</a><br />
       <p><small>AAA</small></p>
       </div>
    </div>
    
    <div class="monitors" align="center">
    <div class="mon_header">XXX</div>
    AAA
    <br />
       <a href="#" id="2-show" class="showLink" onclick="showHide('2');return false;">Spēlētāji</a>
       <div id="2" class="more">
       <a href="#" id="2-hide" class="hideLink" onclick="showHide('2');return false;">Paslēpt</a><br />
       <p><small>AAA</small></p>
       </div>
    </div>
    

     

    bet tik un tā iet virsū.

    man likās, ka CSS kaut kas nav pareizi, bet kas nezinu.

  10. Uztaisīju it kā elementāru show/hide skriptu, bet man atverot to show tas contents uzlien virsū nākamajam DIV

     

    JS kods

    function showHide(shID) {
      if (document.getElementById(shID)) {
         if (document.getElementById(shID+'-show').style.display != 'none') {
            document.getElementById(shID+'-show').style.display = 'none';
            document.getElementById(shID).style.display = 'block';
         }
         else {
            document.getElementById(shID+'-show').style.display = 'inline';
            document.getElementById(shID).style.display = 'none';
         }
      }
    }
    

     

    HTML daļa

    <div class="monitors" align="center">
    <div class="mon_header">AAA</div>
    AAA
    <br />
       <a href="#" id="example-show" class="showLink" onclick="showHide('example');return false;">Rādīt</a>
       <div id="example" class="more">
       <a href="#" id="example-hide" class="hideLink" onclick="showHide('example');return false;">Paslēpt</a><br />
       <p>XXX</p>
       </div>
    </div>
    
    <div class="monitors" align="center">
    <div class="mon_header">AAA</div>
    AAA
    <br />
       <a href="#" id="example-show" class="showLink" onclick="showHide('example');return false;">Rādīt</a>
       <div id="example" class="more">
       <a href="#" id="example-hide" class="hideLink" onclick="showHide('example');return false;">Paslēpt</a><br />
       <p>XXX</p>
       </div>
    </div>
    

     

    CSS daļa

    .more {
    width:100%;
    display: none;
    float:right;
    }
    
    .more p {
    margin-right:-120px;
    }
    
    a.showLink, a.hideLink {
    padding-left:10px;
    text-decoration: none;
    float:right;
    margin-right:5px;
    margin-bottom:10px;
    background: transparent url('images/show.png') no-repeat left; 
    }
    
    a.hideLink {
    padding-left:10px;
    text-decoration: none;
    float:right;
    margin-right:5px;
    background: transparent url('images/hide.png') no-repeat left; 
    }
    
    .mon_header {
    background-color: #fcfcfc;
    height:20px;
    margin-top:20px;
    margin-bottom:20px;
    color:#838382;
    text-align:center;
    }
    
    .monitors {
    margin-top:10px;
    margin-bottom:10px;
    display:block;
    }
    

  11. 1. Tātad gribu sākt mācīties OOP.

    Vai kāds zin kādu blogu/lapu kur par to būtu apstāstīts `for dummies` ?

    Ideālā variantā LV valodā, bet varu mēģināt arī ENG.

    Būtu labi, ja būtu kaut kādi uzdevumi,testi, lai pārbaudītu savas spējas un sekotu līdzi savai izaugsmei.

     

    2. Sāku interesēties arī par IS [ Informācijas Sistēmas ]. Tā ir ļoti advancēta programmēšana? Pārsvarā tiktu laboti, pielāgoti kādi Open Code risinājumi [ ņefig izgudrot divriteni otrreiz ]. Varbūt varat ieteikt labākos atvērtā koda risinājumus, lai sāktu mācīties IS labošanu un vispaŗ kas tas ir, un ko ziemā ēd.

     

    Lūdzu iztiksim bez tekstiem - ej prom; tev to nevajag utt, jo tiešām gribas mācīties, un šogad studējot LiepU būs brīvs laiks lai lasītu e-bookus, blogus da vienalga ko un eksperimentētu uz DW.

     

    Paldies!

  12. nu tad vajag kārtīgi paskaidrot :)

     

    <?
    include ("dbc.php");
    $time = time();
    $laiks=400;
    
    mysql_query("UPDATE users SET redzets='$time' WHERE user_email='$_SESSION[lietotajs]'");
    
    $query = mysql_query("SELECT user_email, id, redzets FROM users WHERE redzets > '".$time-laiks."'   ");
    while($arr = mysql_fetch_array($query))
    {
    echo '<a href="manalapa.lv?lietotajs=' . $arr[1] . '">' . $arr[0] . '</a> <small>Pēdējo reizi redzēts' . $arr[2] . '</small>'; 
    }
    
    ?>
    

  13. tā man tagad izdevās laikam.

     

    $screen = get_post_meta($post->ID, 'screen', $single = true);
    $dest = './images/'.basename($screen);
    if(!file_exists($dest))
    {
    curl($screen,$dest);
    crop($dest,$dest,200,100);
    }
    

     

    un abas f-jas

    function crop($src, $dst, $width, $height){
           if(!$src = imagecreatefromstring(file_get_contents($src))) return false;
           $srcw = imagesx($src);
           $srch = imagesy($src);
           $tmp = imagecreatetruecolor($width, $height); // uztaisam attēlu
           imagefilledrectangle($tmp, 0, 0, $width, $height, imagecolorallocate($tmp, 255, 255, 255)); // balts fons
           // sākās visa rēķināšanas daļa
           if($srcw <= $width && ($srch <= $height || $height == 0)){
                   $nw = $srcw;
                   $nh = $srch;
           }else{
                   $ratio = $srcw/$srch;
                   if($height > 0 && $width/$height > $ratio){
                           $nw = $height*$ratio;
                           $nh = $height;
                   }else{
                           $nw = $width;
                           $nh = $width/$ratio;
                   }
           }
           imagecopyresampled($tmp, $src, (($width/2)-($nw/2)), (($height/2)-($nh/2)), 0, 0, $nw, $nh, $srcw, $srch); // resize
           if(!imagejpeg($tmp, $dst, 100)) return false;
           imagedestroy($tmp);
           return true;
    }
    
    function curl($url, $img) 
       { 
    $ch = curl_init ($url);
       curl_setopt($ch, CURLOPT_HEADER, 0);
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
       $rawdata=curl_exec($ch);
       curl_close ($ch);
       $fp = fopen($img,'x');
       fwrite($fp, $rawdata);
       fclose($fp);
       }
    

     

    tagad viņš uztaisa 200x100px, sānos liekot baltu krāsu.

    f-ju tepeat atradu kaut kur.

     

    ir iespējams savādāks resize skripts, kad samazina uz noteiktiem izmēriem, bet bilde neizskatās tik saspiesta kā izmantojot

    <img src="" width="X" height="X" /> ?

  14. kaut kas laikam nestrādā kā vajag.

     

    funkcijas.php

    function curl($url)
    {
    $ch = curl_init ($url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    $rawdata=curl_exec ($ch);
    curl_close ($ch);
    
    $fp = fopen("cache/",'w');
    
    $im = imagecreatefromstring($rawdata);
    if ($im !== false) {
       header('Content-Type: image/png');
       imagepng($im);
       imagedestroy($im);
    }
    
    fwrite($fp, $im); 
    fclose($fp);
    }
    

     

    atteelo.php

    <div class="panel">
    <?php 
    $screen = get_post_meta($post->ID, 'screen', $single = true);
    curl($screen);
    $name = basename($screen);
    }
    ?>
    <img src="cache/<?php echo $name ?>" class="reflect ropacity30 rheight30" width="200" height="100" />
    <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
    </div>
    

  15. tamm pašlaik esmu izpipējis šitik tālu:

     

    function curl($url,$name)
    {
    $ch = curl_init ($url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    $rawdata=curl_exec ($ch);
    curl_close ($ch);
    
    $fp = fopen("cache/",'w');
    
    //seit laikam ar rawdata vajadzētu veikt `manipulācijas` [ pārveidot lielumu utt. ]
    
    fwrite($fp, $rawdata); 
    fclose($fp);
    }
    

  16. Man palūdza uztaisīt sporta spēļu tabulu.

    Viss jau ir ok, un visu izdevās uztaisīt, BET ir viena lieta.

    Man koda ir update f-ja, kas atjauno lietotāju punktus un ieņemto vietu.

    Pasūtītājs vēlējās, lai ir tā, ka ja

    ir 4 lietotāji

    punkti attiecīgi piemēram - 220,210,210,190

    redzam, ka 2. un 3. vietai ir vienāds rezultāts.

    abi tiek ierindoti 2. vietā, BET lietotājs ar 190pts. ir nevis 3. vietā bet 4. [ it kā tiem abiem, kas bija 2. vietā ir dalīta 2/3 ]

     

    update kods ar komentāriem:

    <?
    function update($nosaukums)
    {
    if($nosaukums == 'sausana' || $nosaukums == 'sautrinas' || $nosaukums == 'sodini')
    {
    //individualajiem vajag lai paceljas par 1pts.
    $seciba = 'DESC';
    $sk = 1;
    }
    else
    {
    //komandu sportiem vajag lai paceljas par 3pts.
    $seciba = 'ASC'; // komandu sportiem pie pievienoshanas vada vietu tapec vajag lai izvada pec vietas pieaugosa seciba
    $sk = 3;
    }
    $starpiba = 0; // sisteema kjipa, lai ja ir 1 vieta, 2 vieta, 2 vieta tad nakosam ir nevis 3., bet 4. [ kjipa intervals ]
    $i = 1; // skaitisanas sakuma vertiba [ protams 1. vieta ;] ]
    $temp = 0; // mainigais, kur glabat score [ lai zinatu vai ir tads pats ka ieprieksejais rezultats
    $sql = mysql_query("SELECT * FROM `$nosaukums` ORDER BY `score` ".$seciba."");
    while($row = mysql_fetch_array($sql)) {
    	if($temp != $row["score"]) // ja nakamais nav vienads ar ieprieksejo
    	{
    	mysql_query("UPDATE `$nosaukums` SET `points` = $i, `place` = $i WHERE `user_id` = {$row["user_id"]}"); // ieliek $i veertiibu
    	$i = $i + $sk + $starpiba; // saskaita kada vieta bus nakamajam rezultatam [ gadijuma ja nebus vienads ar ieprieksejo ]
    	$temp = $row["score"]; // saglaba score temp
    	$starpiba = 0; // karoch ja ir 1.2.2. un tad 4. vieta tad intervalu atkal vajag uz 0 jo notiek izmainjas un intervals tiek pielietots
    	}
    	else // ja nakamais ir vienads ar ieprieksejo
    	{
                   $i = $i - $sk; // atnjem no ieprieksejas $i vertibas, jo ir vienadi rezulati.
    	$starpiba = $starpiba + 1; // pieskaita starpibai 1, jo ja nakamais nebus vienads vins nokritisies nevis par vienu bet par 2 vietam
    	mysql_query("UPDATE `$nosaukums` SET `points` = $i - 1, `place` = $i - 1 WHERE `user_id` = {$row["user_id"]}");
    	$temp = $row["score"]; // saglaba atkal score mainigaja nakamajam ciklam
    	}
    }
    }
    ?>
    

     

    bet nestrādā.

    man ieliek 1. vietu divas 2. vietas un trešo nevis ceturto.

    ks tur varētu būt nepareizi?

  17. Hmm idejiski saprotu.

     

    <?
    function save_image($img,$fullpath){
    $ch = curl_init ($img);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    $rawdata=curl_exec($ch);
    curl_close ($ch);
    $fp = fopen($fullpath,'x');
    fwrite($fp, $rawdata);
    fclose($fp);
    }
    ?>
    

     

    šo ielieku atsevišķā failā.

    tad tajā image.php failā to failu inklūdoju un veicu

     

    save_image($xml->avatarIcon,'http://filmam.lv/steamid/avatar/'); ?

    vai

    save_image($xml->avatarIcon,'avatar/'); ?

     

    un tad tur kur attēloju lietoju

     

    $avatar = "avatar/".basename($xml->avatarIcon);

    $avatar = imagecreatefromjpeg($avatar);

     

     

    ā tomēr beigās mana avajadzētu lai viņš to bildi kaut kur saglabā :D

    nu lai piemēram var kādā forumā parakstā likt.

×
×
  • Create New...