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í
×
    dnes 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
    dnes 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
    včera 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
    včera 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
    5.4. 04:11 | Zajímavý software

    Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.

    Ladislav Hagara | Komentářů: 3
    4.4. 04:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).

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

    Dotaz: PHP Upřesnění scriptu

    1.3.2011 18:14 Libor Kron
    PHP Upřesnění scriptu
    Přečteno: 280×
    Zdravím,

    mám kod
    $page .= "<td><input type=\"text\" name=\"name\" value=\"$_POST['name']\" /></td>";
    a PHP na mě křičí, že Notice: Undefined index: name

    Co to přesně znamená? že prom $_POST['name'] neexistuje, nebo ze existuje ale je prazdna nebo co přesně? Jak to můžu opravit?

    Když tu prom nadefinuji
    $_POST['name'] = 'nevim co sem napsat';
    tak uz ji pak opravdová prom. nepřepíše, což je logické, ale nevim jak to pořádně ošetřit. Mužu jeste napsat podminku pokud neexistuje tak ji nějak nadefinuji (nevim sice jak) a pokud existovat bude tak se podminka nevykona. Ale nevím no jestli je to OK.

    Děkuji za pomoc ;)

    Odpovědi

    poky74 avatar 1.3.2011 18:31 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
    Rozbalit Rozbalit vše Re: PHP Upřesnění scriptu

    Asi nejjednodušší bude něco jako

    if(!isset($_POST['name']))$_POST['name']="";
    Chcete Linuxové samolepky nebo Tuxe na klíče? ->
    1.3.2011 18:41 voda | skóre: 28
    Rozbalit Rozbalit vše Re: PHP Upřesnění scriptu

    Když už tak raději takto:

    $page .= '<td><input type="text" name="name" value="'(.isset($_POST['name']) ? $_POST['name'] : '').'" /></td>';
    1.3.2011 18:54 polymorf | skóre: 14 | blog: tar_zxpf
    Rozbalit Rozbalit vše Re: PHP Upřesnění scriptu
    Daj pred dolar zavinac: @$_POST['name']
    1.3.2011 19:32 l4m4
    Rozbalit Rozbalit vše Re: PHP Upřesnění scriptu
    Vynikající nápad, jak do toho udělat ještě větší díru.
    1.3.2011 19:00 camel1cz | skóre: 25
    Rozbalit Rozbalit vše Re: PHP Upřesnění scriptu
    No pojal bych to jinak - když píšete aplikaci, musíte mít za všech okolností jasno, co je v proměnné... o těch, poslaných přes REQUEST to platí dvojnásob!

    Řešil bych to tedy zpracováním vstupu. Vlastně "překopírováním" hodnot do proměnných aplikace, přičemž současně bych udělal validaci dat, escapování, atd.

    Pokud uděláte výše zmíněné, tak ten problém co zmiňujete "sám" zmizí...
    1.3.2011 19:47 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: PHP Upřesnění scriptu
    To je dost zející XSS díra. Minimálně kolem toho dejte htmlentities().
    In Ada the typical infinite loop would normally be terminated by detonation.
    1.3.2011 20:18 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: PHP Upřesnění scriptu
    Je to upozornění, že v poli $_POST[] není index 'name' definován, tedy to neznamená že by byl prázdný, ale prostě vůbec neexistuje, neboť nevznikl. Takže ve formuláři nejspíš nebyl prvek se jménem 'name' formou POST odeslán či přijat. Obecně není dobré se na existenci takovýchto proměnných spoléhat, i kdyby byl formulář udělaný správně, vždycky může přijít někdo s nekalými úmysly a podvrhnout upravený požadavek.

    Zmíněné isset() je možný způsob jak to ošetřit.

    Vámi navržené řešení "nějak ji nadefinovat" může a nemusí být správné, z uvedených informací to nelze určit. Měl byste být sám schopen posoudit, jestli to 'name' je něco co potřebujete znát, nebo to lze nějak vygenerovat. Příklad: pokud vypisuji informace o produktech třeba z databáze a produkty jsou identifikovány pomocí 'name', nejspíš bez 'name' nebudu vědět co vypsat. Mohu vypsat informace o náhodném produktu, ale většinou spíš vypíšu chybovou hlášku, že uvedený produkt nebyl nalezen. Naopak pokud 'name' označuje třeba jméno souboru, která chci uložit třeba na server, tak mohu vygenerovat náhodné jméno a oznámit, že soubor byl uložen pod tímto jménem.
    1.3.2011 21:14 Libor Kron
    Rozbalit Rozbalit vše Re: PHP Upřesnění scriptu
    Tak ze je lepsi na zacátku kodu promenou -vzdy definovat $prom=""; -nebo dat podminku jestli je plna if(!empty($prom) $add = $prom;)); -nebo dat podminku jestli existuje if(isset($prom) $add = $prom;));

    Díky
    1.3.2011 21:15 Libor Kron
    Rozbalit Rozbalit vše Re: PHP Upřesnění scriptu
    Tak ze je lepsi na zacátku kodu promenou
    -vzdy definovat $prom="";
    -nebo dat podminku jestli je plna if(!empty($prom) $add = $prom;));
    -nebo dat podminku jestli existuje if(isset($prom) $add = $prom;));
    Díky
    2.3.2011 02:17 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: PHP Upřesnění scriptu
    Bavíme se o proměnné, která nemusí existovat.

    Buďto lze před každým jejím použitím udělat if(isset($prom)) {... } else {...}.

    Nebo (zejména pokud by výše uvedené kód dost komplikovalo) pokud lze kód napsat tak, že se bude chovat "dobře" třeba pro prázdnou proměnnou, a současně to nebude kolidovat se situací, kdy uživatel zadal prázdnou proměnnou, lze ji (v případě že neexistuje) na začátku nastavit na prázdnou, zbytek kódu je pak jednodušší.

    Místo na prázdnou ji lze nastavit na nějakou defaultní či nějak vygenerovanou hodnotu, to záleží na situaci.

    Vždy záleží na tom, co reálně děláte. Je rozdíl nepodat daňové přiznání (proměnná nedefinovaná) a podat daňové přiznání s nulovým doplatkem/přeplatkem (proměnná prázdná). Někdy je "nedat někomu žádnou facku" (prázdná proměnná) totéž, jako dát mu nezjištěný počet facek (nedefinovaná proměnná), ale někdy to jedno není.

    Můžete si stanovit nějakou politiku (třeba vždy proměnnou nějak nastavit), ale rovnou počítejte s tím, že nastane situace, kdy by se stav "undefined" docela hodil ;)
    2.3.2011 02:20 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: PHP Upřesnění scriptu
    Když čtu váš dotaz tak v podstatě jste všechny ty možnosti uvedl, takže odpověď je "ano, je to OK" :) Můžete psát podmínky, můžete proměnnou nastavit... Pokud víte co píšete, tak budete i vědět, kterou z uvedených možností zvolit. Trochu z toho dotazu mám pocit že úplně nevíte, co píšete ("nevím jak ji mám nastavit"), takže doporučuji se lépe seznámit s tím kódem, co že to vlastně dělá a jaká mohou být vstupní data.

    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.