abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:44 | IT novinky

    Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »

    Ladislav Hagara | Komentářů: 3
    včera 16:44 | IT novinky

    Tvůrcem nejpopulárnější kryptoměny bitcoin, který se skrývá za pseudonymem Satoši Nakamoto (Satoshi Nakamoto), je britský kryptograf Adam Back. Na základě vlastní investigativní práce to tvrdí americký deník The New York Times (NYT). Několik indicií podle autorů jasně ukazuje na to, že Back a Nakamoto jsou stejný člověk. Jde mimo jiné o podobný odborný a osobnostní profil či totožné chyby a manýry v psaném projevu.

    Ladislav Hagara | Komentářů: 6
    včera 14:44 | Nová verze

    Google Chrome 147 byl prohlášen za stabilní. Nejnovější stabilní verze 147.0.7727.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře. Přehled novinek v Chrome DevTools 145 až 147 také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Vývojáři z Laboratoří CZ.NIC vydali nové verze aplikací Datovka (Datovka 4.29.0, Mobilní Datovka 2.6.2). V případě desktopové verze přibyly možnosti projít všechny uložené zprávy, zkontrolovat časy expirací časových razítek a přerazítkovat datové zprávy, které lze v ISDS přerazítkovat. Novinkou je také možnost vytahovat myší ze seznamu ZFO soubory datových zpráv, tento úkon jde udělat i pomocí tlačítek Ctrl+C. Nová verze Mobilní Datovky přináší jen drobné úpravy.

    VSladek | Komentářů: 0
    7.4. 21:55 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.28.0. Z novinek lze vypíchnout novou třídu machine.CAN.

    Ladislav Hagara | Komentářů: 0
    7.4. 10:22 | Komunita

    Michael Meeks, CEO společnosti Collabora, na apríla oznámil, nebyl to ale apríl, že nadace The Document Foundation zastřešující vývoj kancelářského balíku LibreOffice vyloučila ze svých řad všechny zaměstnance a partnery společnosti Collabora, tj. více než třicet lidí, kteří po mnoho let přispívali do LibreOffice. Nadace The Document Foundation po několika dnech publikovala oficiální vyjádření. Přiznává pochybení při zakládání

    … více »
    Ladislav Hagara | Komentářů: 9
    6.4. 05:33 | Pozvánky

    Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že v úterý 14. dubna (změna!!!) od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout

    … více »
    bkralik | Komentářů: 3
    5.4. 23:33 | Nová verze

    Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.

    Ladislav Hagara | Komentářů: 1
    5.4. 23:00 | Zajímavý projekt

    VOID (Video Object and Interaction Deletion) je nový open-source VLM model pro editaci videa, který dokáže z videí odstraňovat objekty včetně všech jejich fyzikálních interakcí v rámci scény (pády, kolize, stíny...) pomocí quadmaskingu (čtyřhodnotová maska, která člení pixely scény do čtyř kategorií: objekt určený k odstranění, překrývající se oblasti, objektem ovlivněné oblasti a pozadí scény) a dvoufázového inpaintingu. Za projektem stojí výzkumníci ze společnosti Netflix.

    NUKE GAZA! 🎆 | Komentářů: 8
    5.4. 05:22 | Zajímavý software

    Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 20
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (1%)
     (14%)
     (24%)
    Celkem 1245 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Divný select...

    poky74 avatar 23.6.2009 17:09 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
    Divný select...
    Přečteno: 311×
    V phpku dělám celkem dlouho, ale teď už několik hodin (!!!) bádám nad tím, s čím potřebuju poradit...

    Měl by to být script na výběr dat (článku) z db:
    $cislo_clanku=1;
    $pokracovat=1;
    
    while ($pokracovat==1){
    $clanekk=mysql_fetch_array(mysql_query('select * from clanky where id="'.$cislo_clanku.'"'));
    if($clanekk['adr']==$_GET['read']){echo "bingo";$pokracovat=0;}
    $cislo_clanku++;
    }
    
    Tedy je to cykl, který se bude provádět, dokud se mu neřekne dost (respektive nenastaví proměnná $pokracovat na 0).

    Na nulu se to nastaví v případě že $clanekk['adr']==$_GET['read'], v db jsou dva záznamy v kolonce "adr" a to "ahoj" a "cau".

    Bohžel ať je v proměnné $_GET['read'] "ahoj" nebo "cau" tak se zacyklí, proč?

    Díky

    PS. vím, že takhle se to nedělá, ale už jen z principu bych rád přišel na to, proč to nejede...
    Chcete Linuxové samolepky nebo Tuxe na klíče? ->

    Odpovědi

    23.6.2009 18:32 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Divný select...

    Fujtajbl :), žádné ošetření, procházení znovu a znovu novým selectem - to je docela fičák :)
    ale ...
    Dal bych před if toto

    echo "['".$clanekk['adr']."' = '".$_GET['read']."']<br />";
    

    a na konec

    if($cislo_clanku > 1000) break;

    a díval se co se vypíše - to je takový rychlý „debuger“ :)
    ahoj a cau lze porovnávat pomocí = pokud to teda není jedno v UTF-16 a druhé v UTF-8, ale jinak bych doporučil strcmp()

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    poky74 avatar 24.6.2009 00:17 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
    Rozbalit Rozbalit vše Re: Divný select...
    Divné, píše to tohle:
    ['ahoj-ahoj ' = 'cau']
    ['cau ' = 'cau']
    ['' = 'cau']
    ['' = 'cau']
    ['' = 'cau']
    ['' = 'cau']
    ['' = 'cau']
    ['' = 'cau']
    ['' = 'cau']
    ['' = 'cau'].............. TO SAME PORAT DOKOLA
    
    Jinak, pokud jsou nyni v db 2 zaznamy, mel by se cykl vykonat maximalne 2x, ne se zacyklit...
    Chcete Linuxové samolepky nebo Tuxe na klíče? ->
    24.6.2009 00:30 T
    Rozbalit Rozbalit vše Re: Divný select...
    Protoze v databazi jsou ulozeny "ahoj " a "cau " - s mezerou na konci, proto se cyklus nezastavi na podmince rovnosti tech retezcu. Kazdej dalsi select vybere prazdny radek, ale to neni osetreno v podmince cyklu. Takze se program zacykli.
    24.6.2009 08:47 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Divný select...

    No na tom je jasně vidět kam takový kód vede :)
    Kdyby bylo ošetřeno mysql_query a mysql_query jasně by bylo vidět, že to (asi) na 3. smyčku vrací nulový počet řádků tudíž:
    $clanekk === NULL
    Pokud se jedná o PHP5 (i PHP4 s malou vyjímkou) tak pokud vložíš na začátku kódu

     error_reporting(E_ALL | E_STRICT);//php4 (asi) error_reporting(E_ALL);
     ini_set('display_errors', 'On');
    

    Jistě tam vyjedou nějaká zajímavá hlášení :)
    Jinak 'cau' a 'cau ' není překvapivě totéž :)
    DOPORUČUJI jednoznačně kód ošetřit tzn. minimálně:

    if(!($rs = mysql_query('select * from clanky where id="'.$cislo_clanku.'"')));
    {
     error
    }
    else
      if(!($clanekk=mysql_fetch_array($rs)))
      {
        /*
          pozor na mysqli_xxxx vrací NULL, mysql_xxx false 
        */
        error
      }
      else
      { 
        pokracovat
      }
    }
    

    Po důvodu braní záznamů po jednom nepátrám, jediné takovéto použití co mě napadá:
    snad že řádek je moc veliký (např ø 1Mb) a je jich nekonečně mnoho a provádí se s řádkem nějaké operace a pak se zahodí.
    V tom případě je to odůvodnitelné štření zdrojů na úkor výkonu.
    Také nepátrám proč neporovnat v clausuli WHERE rovnou text :).

     

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    poky74 avatar 24.6.2009 09:28 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
    Rozbalit Rozbalit vše Re: Divný select...
    Ejhle, mezery jsem si nevšiml :)

    Teď už se s tím poperu, díky vám za pomoc, mezera me opravdu nenapadla :)
    Chcete Linuxové samolepky nebo Tuxe na klíče? ->
    24.6.2009 09:53 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Divný select...
    Kdybys to porovnával v databázi, tak by mezera na konci nebyla problém, protože ji MySQL u nebinárních typů ignoruje (je to vysvětleno v manuálu).
    23.6.2009 20:50 12345 | skóre: 41 | blog:
    Rozbalit Rozbalit vše Re: Divný select...
    Existuje nějaký rozumný důvod, proč nepoužít WHERE adr = ? a dosadit tam správně ošetřenou (escaping nebo lépe prepared statement) hodnotu $_GET['read']? Tenhle kód si přímo říká o DoS. I kdyby to někdo neudělal záměrně, stačí trochu větší návštěvnost a program si to zařídí sám. Takovými zdrojáky se straší malé servery, případně se objevují na The Daily WTF :-)

    Mimochodem, PHP má datový typ bool.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.