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 10:11 | IT novinky

    V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 03:11 | Komunita

    Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.

    Ladislav Hagara | Komentářů: 0
    dnes 02:11 | Zajímavý článek

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 02:00 | Nová verze

    OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | IT novinky

    Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.

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

    Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.

    Ladislav Hagara | Komentářů: 5
    včera 12:22 | Bezpečnostní upozornění

    Rozšíření webového prohlížeče Urban VPN Proxy a další rozšíření od stejného vydavatele (např. 1ClickVPN Proxy, Urban Browser Guard či Urban Ad Blocker) od července 2025 skrytě zachytávají a odesílají celé konverzace uživatelů s AI nástroji (včetně ChatGPT, Claude, Gemini, Copilot aj.), a to nezávisle na tom, zda je VPN aktivní. Sběr probíhá bez možnosti jej uživatelsky vypnout a zahrnuje plný obsah dotazů a odpovědí, metadata relací i

    … více »
    Ladislav Hagara | Komentářů: 5
    včera 05:22 | Zajímavý software

    QStudio, tj. nástroj pro práci s SQL podporující více než 30 databází (MySQL, PostgreSQL, DuckDB, QuestDB, kdb+, …), se stal s vydáním verze 5.0 open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 6
    včera 04:55 | Nová verze

    Byla vydána nová verze 259 správce systému a služeb systemd (Wikipedie, GitHub).

    Ladislav Hagara | Komentářů: 0
    včera 02:55 | Zajímavý článek

    Cloudflare Radar poskytuje aktuální informace o globálním internetovém provozu, útocích nebo trendech. Publikován byl celkový přehled za rok 2025. Globální internetový provoz vzrostl v roce 2025 o 19 %.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (0%)
     (0%)
     (0%)
     (0%)
     (0%)
     (0%)
     (33%)
     (33%)
     (33%)
    Celkem 6 hlasů
     Komentářů: 10, poslední dnes 12:54
    Rozcestník

    PHP okénko

    31.12.2007 11:13

    Dělám jednu návštěvní knihu bez použití databáze- Výsledek se jenom odešle do souboru.Zde je kód ve formátu TXT: http://lukas.nazory.cz/web/script.txt

    A moje otázky zní:

    1. Jak zapsat tu kontrolu vyplňení jména/kontaktu/textu, aby se nezobrazovala hned po načtení stránky, ale až po kliknutí na Odeslat. Vím že to možné je. Jednou jsem někde viděl disk. knihu napsanou v 1 souboru php.
    2. I když zatrhnu typ inzerátu koupě/prodej, stejně se mi po odeslání zobrazí zadejte typ inzerátu. To se děje stejně s textem v tagu textarea
    3. Jakým způsobem by jste řešili odeslání dat do externího souboru?

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    Rezza avatar 31.12.2007 11:16 Rezza | skóre: 25 | blog: rezza | Brno
    Rozbalit Rozbalit vše Re: PHP okénko
    Add 1.: pridej si do formulare hidden policko, tam si nastav "odeslano" a pak v tom skriptu checkni jestli mas odeslano nebo prvni zobrazeni...
    31.12.2007 11:52 Ritchie | skóre: 27 | blog: Ritchie's | Berlin
    Rozbalit Rozbalit vše Re: PHP okénko
    Ad 1. A není jednodušší pojmenovat tlačítko submit a pak testovat, zda isset($_REQUEST['submit_name'])?

    Ad 2. Místo typu checkboxu použijte typ radiobutton se stejnou hodnotou atributu name a různou hodnotou atributu value. Nevyplnění testuje přes empty($_REQUEST['radio_name']).

    Ad 3. Netuším, co přesně myslíte. Každopádně při jakémkoliv zápisu do souboru pozor na race-conditions.

    Takhle ošklivý kód v PHP jsem už dlouho neviděl. Již chápu, proč si někteří o programátorech v PHP myslí nepěkné věci. Přitom v PHP se dá programovat čistě a objektově, na straně databáze si vytvořit ORM a v prezenční vrstvě využívat XML spolu s DOM a XSL.

    Sám používám pro zpracování formulářů v PHP vlastní (zatím nedokončenou) třídu, která se velmi inspirovala syntaxí XForms. Vytvoření formuláře včetně kontroly vstupních dat je pak záležitost editace jednoho XML souboru.
    31.12.2007 12:21 Lukas | skóre: 24 | blog: onemj
    Rozbalit Rozbalit vše Re: PHP okénko
    Takhle ošklivý kód v PHP jsem už dlouho neviděl

    Nebude to tím, že do PHP dělám 2 týdny? ;-)
    Josef Kufner avatar 31.12.2007 14:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: PHP okénko
    To je celkem pravděpodobné, ale nemění to nic na tom, že je ten kód ošklivý. Zkus vyházet ty zbytečné otazníčky. Na vypsání jednoho/dvou řádků je lepší obyčejné echo.
    Hello world ! Segmentation fault (core dumped)
    31.12.2007 17:14 Lukas | skóre: 24 | blog: onemj
    Rozbalit Rozbalit vše Re: PHP okénko
    Zkus vyházet ty zbytečné otazníčky. Na vypsání jednoho/dvou řádků je lepší obyčejné echo.

    Teď to trochu nechápu.. uveď příklad.
    Přemek Vyhnal avatar 31.12.2007 17:46 Přemek Vyhnal | skóre: 24 | blog: Toto není blog! | Dobřichovice
    Rozbalit Rozbalit vše Re: PHP okénko
    misto
    <?php echo '<br />'?>
    <b>Kontakt:</b>
    <?php echo '<br />'>
    
    by stacilo
    <br /> <b>Kontakt:</b> <br />
    
    a este takovej trik kterej sem taky nedavno objevil: I have <?=$foo?> foo. == I have <? echo $foo?> foo. viz man echo

    Obcas se to hodi.. neco zprehledni...
    NO RAPTORS!
    31.12.2007 18:08 Lukas | skóre: 24 | blog: onemj
    Rozbalit Rozbalit vše Re: PHP okénko
    Aha! Díky za objasnění!
    31.12.2007 13:09 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: PHP okénko
    Takhle ošklivý kód v PHP jsem už dlouho neviděl.

    Já tedy naopak musím říci, že tento kód patří ještě k docela pěkným :-) PHPčkáři jsou schopni vyplodit takové prasečiny, že to překoná fantazii všeho co si dokážete představit.

    Ono to souvisí s tím, že práce okolo webů, tedy i PHP patří obecně k těm nejhůře placeným v IT sektoru a prakticky každý, kdo má na něco víc, než je psaní v PHP jakožto hlavní náplň, odchází jinam dělat něco jiného. Takže logicky zbývají jakožto "profesionální programátoři v PHP" pouze Ti, kteří nic jiného nezvládnou, tedy kvalita tomu odpovídá. Samozřejmě nechci zobecňovat a najdou se i velmi dobří lidé.
    31.12.2007 14:55 VRtulnikk | skóre: 17 | blog: blogisek | Rokycany
    Rozbalit Rozbalit vše Re: PHP okénko
    Tjn, muj plan je si udelat praxy jako PHP programator a co nejrychleji utect nekam jinam :)
    okbob avatar 31.12.2007 18:31 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: PHP okénko
    To začni jako junior na Jave a pak se vypracuj, neb co se v mládí naučíš, ...

    Sp PHPkařema to není tak zlý, ale zrovna moc řemeslo neovládají. Pro řadu z nich bublesort a binární hledání jsou cizí slova. A ti lepší teď zběhli k Ruby.
    31.12.2007 13:05 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: PHP okénko
    Já bych hlavně předeslal, že při používání souboru jakožto "emulace databáze" je potřeba si uvědomit, že za jistých okolností dojde k paralelnímu zápisu od několika zapisujících a je třeba to v PHP řešit.

    Jinak ohledně otázek se přiznám, že jim moc nerozumím, třeba odeslání dat do externího souboru se neřeší, protože jakákoli data, která odešlete se pošlou do jiného skriptu a co si s nimi uděláte je Vaše věc. Třeba si je uložte do externího souboru.

    Všechno je jinak řešitelné, i ad 1) a ad 2) je jen o základech pochopit, jak fungují formuláře v HTML, že je možné také do formuláře uložit skryté, tzv. hidden položky a řídit to pomocí JavaScriptu, nebo PHP skriptu.

    Spíš doporučuji si o tom, jak fungují formuláře něco přečíst. To neradím z neochoty, ale z toho, že mnoho věcí pochopíte, když budete znát princip.

    A osobně já bych se do návštěvní knihy bez databáze pouštěl jen se sebezapřením, jasně, že to jde, ale s databází je to mnohem jednodušší a řešíte méně problémů.
    31.12.2007 14:16 Kvakor
    Rozbalit Rozbalit vše Re: PHP okénko
    Já bych hlavně předeslal, že při používání souboru jakožto "emulace databáze" je potřeba si uvědomit, že za jistých okolností dojde k paralelnímu zápisu od několika zapisujících a je třeba to v PHP řešit.
    Coz je velmi problematicke, pokud se to ma udelat prenositelne. Osobne jsem to resil jen jednou - u celkem jednoduche ankety. V ostatnich pripadech jsem problem vysvetlil problem zakaznikovy a ten si vzdy radeji priplatil za databazi. A v tom prvnim pripade jsem vyuzil toho, ze operace prejmenovani souboru je na unixech atomicka, takze nemuze dojit k tomu, aby soubor zustal v nejakem nedefinovanem stavu.

    Jedine jednoduche reseni je ukladat data ko samostatnych souboru, pak staci zajistit jen unikatni jmeno. Nebo je mozne nechat osetreni paralelniho zapisu na necem jinem, napr. poslat vyslednky na lokalni mailovou schranku.
    Josef Kufner avatar 31.12.2007 15:00 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: PHP okénko
    A nebo prostě připisovat na konec souboru čárky a pak zjišťovat velikost souboru.
    Hello world ! Segmentation fault (core dumped)
    31.12.2007 19:19 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: PHP okénko

    flock() je IMHO dost přenositelné řešení. (Kdo provozuje server s FAT souborovym systémem nic jinýho než ztrátu dat stejně nemůže očekávat a NFS u webserverů taky neni zrovna obvyklé řešení...)

    Každý má právo na můj názor!
    31.12.2007 20:35 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: PHP okénko
    flock je řešení velmi problematické - jednak není vůbec zaručena jeho funkce, a to nejen na FAT, ale jak se píše ani "pod některými operačními systémy"

    flock je taky problematické v tom, že je nutné explicitně odstranit zámek na soubor přes skončením, jinak zámek může zůstat - a soubor je pak globálně zamknutý pro stejný proces. pokud tedy v PHP nastane chyba, pak se může stát, že nastane po zamknutí souboru a před odemknutím souboru a pak se na soubor nedostanete třeba vůbec

    Neexistuje žádná bezpečná a neproblematická cesta pro paralelní práci se soubory pomocí PHP. Jediná neproblematická a plně přenositelná cesta je použití databáze.
    31.12.2007 21:21 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: PHP okénko
    Neexistuje žádná bezpečná a neproblematická cesta pro paralelní práci se soubory pomocí PHP. Jediná neproblematická a plně přenositelná cesta je použití databáze.

    To ano, ale pokuď už se se soubory pracuje, je to nejlepší z možných "špatných" řešení. Rozhodně mnohem lepší, než všechny ty zde navrhované "řešení". Já používám většinou něco takového:

    $fp = fopen($soubor, 'a');
    ignore_user_abort(1);
    
    for($i=0; $i<3; $i++) {
        if (flock($fp, LOCK_EX)) {
            fwrite($fp, $data);
            flock($fp, LOCK_UN);
            break;
        }
        usleep(100);
    }
    
    fclose($fp);
    ignore_user_abort(0);
    

    O moc bezpečnější "univerzální" řešení v PHP nevymyslíte, tak proč vymejšlet ptákoviny...

    Každý má právo na můj názor!
    31.12.2007 22:27 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: PHP okénko
    Jasan, souhlasím s Vámi, ale většinou se dá využít atomičnosti souborových operací na úrovni operačního systému - otázkou ovšem samozřejmě je, zda PHP pouští třeba operace pro zápis do operačního systému "na jeden vrz", nebo ne. Takové otevření souboru pro zápis za konec a rovnou jeden zápis a zavření souboru by mělo být atomické (otázkou zase je, co to udělá prohnáním přes PHP vnitřnosti).

    Jinak daleko lepší řešení, než přes zamykání v souboru je lepší v PHP využít funkce pro zamykání souborů, kde atomičnost a paralelní práce už je přímo jejich náplní. Pokud budete psát jen na konec souboru, pak PHP obsahuje výborné funkce, třeba:
    
    error_log("Obsah, co se zapise do souboru", 3, "jmeno_souboru.pripona");
    
    
    Jak vidíte, v PHP jde leccos a je tam daleko více možností, škoda že za PHP tak málo platí, takže v PHP už moc nedělám. Jak vidíte, lepší a bezpečnější řešení v PHP vymyslím docela snadno :-)
    1.1.2008 00:43 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: PHP okénko
    Jak vidíte, lepší a bezpečnější řešení v PHP vymyslím docela snadno :-)

    Já ale mluvím o "univerzálním" řešení, tedy takovém, kde můžu zapisovat od začátku souboru nebo v něm dokonce seekovat...

    Celou dobu se tu snažím ukázat, že než tyhle "hacky", který fungují pouze ve speciálních případech a spoléhají na vlastosti funkcí, které nikde nejsou zdokumentovány (zdá se logické, že funkce pro zápis do logu by měla být "odolná" proti vícenásobnému současnému zápisu, ale je tomu skutečně tak?!) to radši "standartní" (PHP funkce sloužící právě k tomuto účelu) flock() i s jeho nedostatky. Protože o "vnitřnostech" PHP (na všech možných OS/souborových systémech!) a tudíž i atomičnosti operací víme ve skutečnosti kuloví (pokuď u snídaně běžně louskáte zdrojáky PHP tak se omlouvám... ;-)).

    Každý má právo na můj názor!
    Daniel Kvasnička ml. avatar 31.12.2007 19:02 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: PHP okénko
    Co takhle zapremyslet, jestli by se ukladani bez databaze nedalo vyresit pomoci XML a XSLT? Dalo a zaroven by sis tim vybral templatovaci engine pro tuhle aplikaci (treba rozdil mezi RSS a normalnim pohledem by byl jen ve zvolenem stylesheetu). Nehlede na to, ze bys pak mel tisic dalsich nastroju, kterymi bys ta data mohl zpracovavat -- treba v pripade, ze by ses v budoucnu rozhodl je presunout do DB nebo uplne zmenit platformu.

    Pokud XML pouzit nechces, pak ti i tak radim si vybrat nejaky sablonovaci system, ktery budes pouzivat (nenapadne bych si dovolil ti vnucovat PHPTAL, o lepsim pro PHP nevim a to jsem hledal hodne ;-) ) -- absolutne bez ohledu na to, jaky jsi zacatecnik a bez ohledu na to jak mala by ta aplikace mela byt. Je to vec cistoty navrhu a kdyz se to naucis u prkotin, bude to pak pro tebe samozrejmost i u vetsich veci.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    31.12.2007 20:29 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: PHP okénko
    A jaké nástroje jsou pro paralelní zápis do XML tak, aby byla zachována konzistence? Neútočím, jenom se ptám, byla by to príma.
    Daniel Kvasnička ml. avatar 31.12.2007 20:37 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: PHP okénko
    A jaké nástroje jsou pro paralelní zápis do XML tak, aby byla zachována konzistence? Neútočím, jenom se ptám, byla by to príma.
    Priznam se, ze nevim. Na flat XML jsem stavel vzdy jen aplikace, u kterych jsem vedel, ze je prakticky nemozne, aby k takovemu scenari doslo. Coz priznavam -- je u guestbooku blbost. A i celkove je to dost divne, hlavne proto, ze by musel zamykat kvuli zapisu jednoho zaznamu cely soubor.

    Pri pouziti TXT ale moc techto problemu nevyresi. Nejlepsi asi bude precejen zvolit nejakou databazi, treba jen SQLite. Vzdyt nejakou tu relacni DB clovek dneska najde snad na kazdem hostingu. A i pak se to XSLT da pouzit (treba s Query2XML, celkem schopna knihovna).
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    5.1.2009 16:23 Anonym
    Rozbalit Rozbalit vše PHP okénko
    Příloha:

     Panebože ty jsi magor :D Takovouhle píčovinu jsem už dlouho nevyděl! Nejde ti to blbečku.

    Založit nové vláknoNahoru

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