Jump to content
php.lv forumi

indoom

Reģistrētie lietotāji
  • Posts

    593
  • Joined

  • Last visited

Posts posted by indoom

  1. pēc dbFetch ieliec rindu echo mysql_error(); un paskaties kādu kļūdu rāda, kad nestrādā ar mysql_real_escape_string.

    Bez mysql_real_escape_string() tu padod savu db urķiem uz paplātes.

    Šīs rindas vispār nav vajadzīgas. Var jau redzēt, ka nākamajā rindā $form tiek pārrakstīts.

    $form = null; // To squelch undefined variable errors 
    if ($errors) { $form = $errors; } 
    

     

    Kā arī funkcijā, formā, valuēs vajag htmlspecialchars()

    <input type='text' name='cat_name' value='".htmlspecialchars($cat_name)."'/>
    <input type='text' name='description' value='".htmlspecialchars($description)."'/>
    <input type='hidden' name='id' value='".htmlspecialchars($id)."'/>
    

     

    un dbFetchā pirms $cat_names ir lieks speiss ielicies: (' ".($cat_name)."'

  2. if ($_POST['save']) rādīs kļūdu, kad nebūs $_POST['save'].

    Submitu var pārbaudīt, piem., ar

    if ($_SERVER['REQUEST_METHOD'] === 'POST') { 
     // ir posts
    }
    

     

    Par to kļūdas rādīšanu, norādītajā kodā funckijā nomaini

    $form = $errors . "<form  method='post' action='?act=save'>....</form>";
    

     

    kā arī funkcijā vajag mainīgos ielikt no ārpuses ar

    function output_form($errors=null) { 
     global $cat_name, $description, $id;
    

     

    Un visiem mainīgajiem pieliec pārbaudi, ja negribi, lai kļūdas metas.

    $cat_name = stripslashes(!empty($_POST['cat_name'] ? $_POST['cat_name'] : '');

    Ja kas, stripslashes vajag tikai, ja ir ieslēgtas magic quotes.

    Un pirms liec datubāzē, pieliec vēl mysql_real_escape_string()

    dbFetch("Insert INTO gallery_cat (cat_name,description) values (' ".mysql_real_escape_string($cat_name)."','".mysql_real_escape_string($description)."')");
    
    

  3. uz ātro, bet vajadzētu derēt

    $youtube = 'http://www.youtube.com/watch?v=sFZwcgoBxv8&feature=rec-LGOUT-farside_rn-4r-13-HM';
    $newyoutubelink = false;
    if (strpos($youtube,'?')!==false) {
     $parts = array();
     parse_str(array_pop(explode('?',$youtube,2)), $parts);
     $newyoutubelink = 'http://www.youtube.com/watch?v='.$parts['v'];
    }
    

  4. ja būs 0 rezultātu, tad nebūs nekāds kļūdas paziņoums, bet tikai, ja būs kļūdains querijs, jo tad $db būs false, kas nav mysql resurss. Tāpēc labāk ir

    $db = mysql_query("SELECT 1");
    if ($db && mysql_num_rows($db)) // ir rindas
    

    Lasam manuāli

  5. Ja gribi, lai darbojas uz to, uz kuru uzklikšķina, tad izmanto relatīvos ceļus līdz .message, sākot no this.

    Piem. $(this).parent().nextAll('.message').eq(0), atkarībā, kāds ir html, un kur tas .message attiecīgais atrodas pret uzklikšķināto linku.

    un visdrīzāk animates vietā izmanto http://api.jquery.com/slideToggle/

     

    un ja gribi lai sākumā visi aizvērti, var aizvērt

    $(function(){ $('.message').hide(); });
    

    ja tiks izmantots slideToggle, vai .css('height',0), ja animate()

    Vai arī uzreiz cssā ieraksti height:0 un overflow:hidden

  6. <div id="tiptip_holder">
      <div id="tiptip_content">
           <div id="tiptip_arrow">
              <div id="tiptip_arrow_inner"></div>
          </div>
       </div>
    </div>
    

    Šis nav vajadzīgs. Tas bija dots tikai paskaidrojums, kā skripts darbojas.

    Skaties How to use it daļu.

    $(function(){
       $(".someClass").tipTip();
    });
    

  7. Pirmkārt, atstāj tikai jquery.tipTip.minified.js vai jquery.tipTip.js, abi divi nav vajadzīgi. Minified ir saspiesta versija otram failam - ātrāk ielādējas, jo mazāks fails.

    Otrkārt, pats jquery arī vajadzīgs pirms jquery.tipTip.minified.js

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
    

  8. $string = 'balts=2;melns=3;sarkans=5;';
    $array = array();
    parse_str(str_replace(';','&',rtrim($string,';')), $array);
    

     

    Ja ērtāk, tad strings var būt arī: balts=2;melns=3;sarkans=5;

  9. marcis variants, protams, nestrādās. Dokumentācijā jau rakstīts, ka toggleClass('True False') "togglēs" abas klases vienlaicīgi, nevis pēc kārtas.

    Ja klases jau ir pieliktas, tad labāks šāds variants

    function setStatus(test){
     var $el = $('#StatusID' + test);
     $el.toggleClass('False')
        .toggleClass('True', (function(){return !$el.hasClass('False');})());
    }
    

  10. Ja gribi pārbaudīt vai klase eksistē, tad izmanto .hasClass() vai .is()

     

    Pamēģini tā

    function setStatus(test){
     var $el = $('#StatusID' + test),
         count = $el.data('toggle')||0;
     $el.toggleClass('False')
        .toggleClass('True', count % 2 === 1)
        .data('toggle',++count);
    }
    

×
×
  • Create New...