Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.
Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.
Byla vydána nová verze 10.1 sady aplikací pro SSH komunikaci OpenSSH. Uživatel je nově varován, když se nepoužívá postkvantovou výměnu klíčů.
Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.
Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.
Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů
… více »Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.
Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.
Ještě mám dvě otázky na PHP. V tom softu(viz minulý zápis) zkouším používat komponenty podle tvaru url, takže např.: main.php?com=article&task=edit&item=13 nastartuje komponentu pro psaní článků a editaci položky 13
A problém mám právě s tím com=neco. Prozatím to řeším tak, že z hlavní stránky main.php(ukázka je z admin rozhraní, takže index.php slouží pro přihlášení) zavolám funkci :
$menu= isset ($_GET["com"]) ? $_GET["com"] : NULL; showamenu($menu);, která je definována takto:
function showacontent($com) { global $basePath; //To je jenom prozatím, než mě napadne co dát na úvod. if (is_null($com)) { echo "domů"; } else { if (!(file_exists($basePath.'/components/'.$com.'/'.$com.'.php'))) { msg('NE_COMPONENT', 0); } else { include_once $basePath.'/components/'.$com.'/'.$com.'.php'; } } }
Tedy pomocí includování různých souborů. Protože se na tom to PHP učím, tak by mě zajímalo, jestli se to dá řešit ještě nějak lépe?
A ještě ta druhá otázka: Když mám html hlavičku definovanou v main.php, dá se nějak upravit v těch komponentách? Něco jsem zahlédnul o ob_start/flush. Pomůžou mi tyto funkce.
Za odpovědi předem děkuji.
Tiskni
Sdílej:
switch($parametr): case 'p1': include('./Inc/soubor1.php'); break; case 'p2': include('./Inc/soubor2.php'); break; case 'p3': include('./Inc/soubor3.php'); break; default: echo 'Chybny parametr'; exit; endswitch;Samozrejme osetreni chyby atp. je treba napsat tak, aby to bylo podle predstav ...
$map = array ( 'p1' => 'inc/service1.php', 'p2' => 'inc/service2.php', ... );a funkcia
array_key_exists
- "konfiguračný súbor": v tom prípade bude bezpečné, ak budete vstupný parameter kontrolovať, napr, nesmie obsahovať iné znaky ako "[-.a-zA-Z0-9]"
To je něco takového co jsem hledal, akorát že lepší to bude asi dát do databáze, ještě přemýšlím jestli by to nešlo udělat úplně bez includování, že zavolám funki, která se rozhodne zavolá podle com=neco a zavolá to neco.
if (!preg_match("/^[a-z0-9\-]+$/i", $parametr) { header('HTTP/1.1 404 No hackers please'); exit(); }
<? require_once 'lib/page.php'; $pg = new Page(); $pg->data['text'] = "hello world"; $pg->render(); ?>A v lib/page.php bude veskery kod, ktery uplaca html kod stranky a treba i jednoduchy sablonovaci system. Ten u sveho posledniho webu delam tak, ze lib/page.php si includne template/neco.php, kde je kopec html doplneny o <? echo $d['neco'];?>. Je to jednoduche a prakticke. V sablonach pak muze byt i slozitejsi kod treba na vykresleni tabulky, ale je dobre udrzovat poradek a udrzovat oddelene vykreslovani a logiku aplikace.
<? $pg->data['text'] = "hello world"; ...... ?>index.php:
<? require_once 'lib/page.php'; $pg = new Page(); require('hello_world.php'); // Zde by mohl byt ten switch, apod... $pg->render(); ?>Mozna jsem te jen nepochopil, ale takhle mi to osobne vyhovuje mnohem vic a nemusim v kazdym skriptu typu "hello_world.php" psat to same dokola