Konference LinuxDays 2023 proběhne již tento víkend 7. a 8. října v prostorách Fakulty informačních technologií Českého vysokého učení v Praze (FIT ČVUT). Na programu je spousta zajímavých přednášek a workshopů.
Netflix v pátek 29. září odeslal poslední film na DVD (YouTube). Společnost dnes známá jako streamovací služba začala před 25 lety jako půjčovna filmů na DVD. Zákazník si DVD objednal na webových stránkách, odesláno mu ale bylo klasickou poštou. Po zhlédnutí jej vložil do obálky a poslal zpět.
Zero Day Initiative zveřejnila informace o 6 bezpečnostních chybách (1, 2, 3, 4, 5, 6) v MTA Exim. Nejvážnější z nich CVE-2023-42115 má CVSS 9.8. Na opravě chyb se pracuje.
Knihovna libvpx byla vydána ve verzi 1.13.1. Řešena je kritická bezpečnostní chyba CVE-2023-5217 (heap buffer overflow in vp8 encoding). Chyba je již opravena také v Chrome / Chromium 117.0.5938.132 a Firefoxu 118.0.1.
Balíček kmod s nástroji pro práci s linuxovými moduly byl vydán ve verzi 31. Nově umí modprobe zavést modul nacházející se v libovolném adresáři (# modprobe ./drivers/gpu/drm/i915/i915.ko).
Adventura Trüberbrook je na portále GOG.com zdarma, akce trvá do 2. října.
Sound Open Firmware, projekt Linux Foundation, open source audio DSP firmware a SDK, byl vydán ve verzi 2.7.0. Z novinek lze vypíchnout podporu platformy AMD Van Gogh.
Richard Stallman v den oslav 40. výročí GNU oznámil, že má rakovinu (YouTube).
DIY trackball Ploopy má novou variantu Adept, na rozdíl od předchozích používá 44mm kouli, má symetrický tvar a šest tlačítek, snímač zůstává PMW-3360, novinkou je použití Raspberry Pi Pico, na kterém běží firmware QMK s podporou grafické konfigurační aplikace VIA. Předobjednávky jsou otevřeny za ceny 80-105 CAD.
Probíhá Meta Connect 2023. Společnost Meta představuje své novinky v oblasti AI a virtuální, smíšené a rozšířené reality. Představeny byly nové chytré brýle Ray-Ban | Meta a headset Meta Quest 3.
(!isset($_POST['aaa']) OR ($_POST['aaa']==3) ? 'checked' : '')tohle funguje
(!isset($_POST['aaa']) ? 'checked' : '')tohle taky
($_POST['aaa']==3 ? 'checked' : '')ale spolu to vrátí 1 Díky za pomoc
Řešení dotazu:
(!isset($_POST['aaa']) OR ($_POST['aaa']==3)) ? 'checked' : ''
$i=1; $value = ($i==1) ? 'je to true' : 'je to false'; echo "$value\n"; $i=2; $value = ($i==1) ? 'je to true' : 'je to false'; echo "$value\n";ale klidně(ne že by to bych to doporučoval):
$value=$i==1?'je to true':'je to false';
$value = ($i==1) ? 'je to true' : 'je to false';A pokud tedy výsledek není stejny coz není, tak pak musí být něco jinak, ne? A ja se ptam, co to je? dik
$i
? Ta je podle tebe též v obou případech stejná? A je tedy 1, nebo 2?
$value = ($i==1) ? 'je to true' : 'je to false';je s tímto totožný:
if($i==1) $value = 'je to true'; else $value = 'je to false';Na rozdílné výsledky to dávalo proto, že je tam
$i=1;
a pak $i=2;
$i = 1; $j = 2; $value = ($i==1) ? ( ($j==1) ? 'je to true' : 'je to true, ale J ne' ) : 'je to false';Závorky tam nemusí být, ale rada zní „nevíš-li závorkuj“ a druhá „závorky napomáhají čitelností kódu, ale s rozumem“ - nevím koho to cituji, ale s mojí hlavy to není :)
<input name="aaa" type="radio" value="1" <?php echo (isset($_POST['aaa'])&&((int)$_POST['aaa'])==1) ? 'checked="checked"' : '';?> /> <input name="aaa" type="radio" value="2" <?php echo (isset($_POST['aaa'])&&((int)$_POST['aaa'])==2) ? 'checked="checked"' : '';?> /> <input name="aaa" type="radio" value="3" <?php echo (isset($_POST['aaa'])&&((int)$_POST['aaa'])==3) ? 'checked="checked"' : '';?> />Pokud to budete mít ve formuláři, tak nebude vybrán žádný radio prvek. Když jej odešlete (třeba) sám na sebe, tak si to udrží vybranou volbu.
... left && logical left || logical left ? : ternary right = += -= *= /= .= %= &= |= ^= <<= >>= => assignment left and logical left xor logical left or logical ...Tedy nejprve se provede "? :" az potom "OR"!
isset()
je často na zastřelení <?php error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 'On'); echo "Bez isset():Promněná je false pokud má hodnotu: NULL, '', false, 0, 0.0, '0', array() (prázdné pole), takže si zkuste následující:
\n"; if($_POST['aaa'] == "x") echo '($_POST["aaa"] == "x")'; else echo '($_POST["aaa"] != "x") nebo neexistuje'; echo "\n"; echo "S isset():
\n"; if((isset($_POST['aaa']))&&($_POST['aaa'] == "x")) echo '($_POST["aaa"] == "x")'; else echo '($_POST["aaa"] != "x") nebo neexistuje'; echo "\n";
<?php error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 'On'); //pokud je treba date_default_timezone_set('Europe/Prague'); echo "<pre>Bez isset():\n"; if($_POST['aaa'] == 1) echo '($_POST["aaa"] == 1)'; else echo '($_POST["aaa"] != 1) nebo neexistuje'; echo "\n"; echo "S isset():\n"; if(isset($_POST['aaa'])) if($_POST['aaa'] == 1) echo '($_POST["aaa"] == 1)'; else echo '($_POST["aaa"] != 1)'; else echo '$_POST["aaa"] neexistuje'; echo "</pre><br />\n"; ?> <form method="post"> <input name="aaa" type="radio" value="0" <?php echo ($_POST['aaa']==0)?'checked="checked"':'';?>/> <input name="aaa" type="radio" value="1" <?php echo ($_POST['aaa']==1)?'checked="checked"':'';?>/> <input name="aaa" type="radio" value="2" <?php echo ($_POST['aaa']==2)?'checked="checked"':'';?>/> <input name="aaa" type="radio" value="3" <?php echo (!$_POST['aaa'] || $_POST['aaa']==3)?'checked="checked"':'';?>/> <input name="aaa" type="radio" value="4" <?php echo ($_POST['aaa']==4)?'checked="checked"':'';?>/> <input name="hbtn[1]" type="submit" /> </form>A podívejte se na zdrojový kód stránky když stránku poprvé zobrazíte bez submitu.
Jinak mi z toho plyne, že se mají zaškrtnout všechny radio boxy (když aaa nebude nic, což snad v praxi nejdezaškrknou všechny checkboxy lze a $_POST['aaa'] nebude existovat při prvním „přímém“ přístupu na stránku.
Tiskni
Sdílej: