V uplynulých dnech byla v depu Českých drah v Brně-Maloměřicích úspěšně dokončena zástavba speciální antény satelitního internetu Starlink od společnosti SpaceX do jednotky InterPanter 660 004 Českých drah. Zástavbu provedla Škoda Group. Cestující se s InterPanterem, vybaveným vysokorychlostním satelitním internetem, setkají například na linkách Svitava Brno – Česká Třebová – Praha nebo Moravan Brno – Břeclav – Přerov – Olomouc.
Byla vydána nová verze 8.7.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Před 30 lety, k 1. 7. 1995, byl v ČR liberalizován Internet - tehdejší Eurotel přišel o svou exkluzivitu a mohli začít vznikat první komerční poskytovatelé přístupu k Internetu [𝕏].
Byla vydána (𝕏) nová verze 7.4 open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.
Balíček s příkazem sudo byl vydán ve verzi 1.9.17p1. Řešeny jsou zranitelnosti CVE-2025-32462 (lokální eskalace práv prostřednictvím volby host) a CVE-2025-32463 (lokální eskalace práv prostřednictvím volby chroot).
Do služeb Seznam.cz se lze nově přihlásit pomocí služby MojeID [𝕏].
Bezpečnostní výzkumníci zveřejnili informace o osmi zranitelnostech, které postihují více než 700 modelů tiskáren, skenerů a štítkovačů značky Brother. Bezpečnostní upozornění vydali také další výrobci jako Fujifilm, Ricoh, Konica Minolta a Toshiba. Nejzávažnější zranitelnost CVE-2024-51978 umožňuje útočníkovi vzdáleně a bez přihlášení získat administrátorská oprávnění prostřednictvím výchozího hesla, které lze odvodit ze
… více »Společnost Oracle vlastní ochrannou známku JAVASCRIPT. Komunita kolem programovacího jazyka JavaScript zastoupena společností Deno Land vede právní bitvu za její osvobození, viz petice a otevřený dopis na javascript.tm. Do 7. srpna se k nim má vyjádřit Oracle (USPTO TTAB).
Byl představen samostatný rádiový modul Raspberry Pi Radio Module 2 s Wi-Fi a Bluetooth.
Certifikační autorita Let’s Encrypt ukončila k 4. červnu zasílání e-mailových oznámení o vypršení platnosti certifikátů. Pokud e-maily potřebujete, Let’s Encrypt doporučuje některou z monitorovacích služeb.
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