ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.
Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.
Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.
Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.
Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.
50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.
Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.
Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].
Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).
Thunderbird 128, příští major verze naplánovaná na červenec, přijde s nativní podporou Exchange napsanou v Rustu.
Tak jsem v koncích.
Na své druhé stránce (lopuch.unas.cz) jsem chtěl vytvořit login pro redakci tohoto časopisu, ale nějak mi to nefachčí. Když dám login a heslo, které je v databázi tak mi to hodí hlášku: ˇSpatné heslo. A nad tím se mi zobrazí, že mám špatné paramtery u MySQL_Fetch_Row($promenna). Včem dělám chybu. (Až se to vyřeší hodim tam i session ).
Tiskni Sdílej:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result --to tam ohlasihm, takže v databázi nenajde žádnou dvojici nick - heslo, která by odpovídala požadavku ...
Chápu to správně tak, že podle vás se tato chybová hláška objeví vždy, když se nenajde žádný výsledek vyhovující podmínkám? Ve skutečnosti se tato hláška objeví při nějaké zásadní chybě, jako je špatně formulovaný SQL dotaz, nebo právě nepřipojení se k serveru... Pokud je prázdný výsledek (tj. ani jeden řádek), žádná chyba nevzniká, funkceWarning: mysql_fetch_row(): supplied argument is not a valid MySQL result --to tam ohlasihm, takže v databázi nenajde žádnou dvojici nick - heslo, která by odpovídala požadavku ...
mysql_fetch_row
jen vrací false
.
Pokud je prázdný výsledek (tj. ani jeden řádek), žádná chyba nevzniká, funkcedík za opravu/upřesnění, to je tak, když si člověk něco nepamatuje přesně a je línej koukat do manuálumysql_fetch_row
jen vracífalse
.
if($bflm[3]==$heslo)
, když z databáze vybíráš pouze jeden sloupec (heslo), a tudíž to pole $bflm
bude jednorozměrné (tedy hodnota hesla bude v položce $bflm[0]
)? - kdybys měl zapnuté warningy, nejspíš by ti to napsalo, že používáš neicializovanou proměnnou ...
btw, při daném dotazu je dostatečným testem už jen to, že vrátí nenulový počet řádků, a tedy do větve "Špatné heslo." by kód nikdy nemohl dojít, kdyby byl napsaný pořádně a otestoval, jestli vůbec nějaký výsledek dotazu dostal (konstrukce or MySQL_Error()
jest velmi zvláštní, je tam na parádu či co? - řetězec, který vyplivne, se ani nezobrazuje, ani nikam neukládá ...)
jo a když už jsem u toho rozboru ... proměnná $connect
, vzhledem k tomu, že se nevyužívá, je tam taky na nic, tu počáteční konstrukci by stačilo přepsat na:
if (!MySQL_Connect("mysql.webzdarma.cz", "...", "...")) { echo "nelze se pripojit k databazi"; exit; }
bflm[0]
a stejne to hlasi stejnou hlasku... To bude asi neco jinciho
hmh, upravil jsem to na bflm[0]
a stejne to hlasi stejnou hlasku... To bude asi neco jinciho
jistěže je to "něco jiného", jak už ostatně řešíš níže ... nicméně pointa měla být, i když se v mém příspěvku trochu schovala, že tak jak to bylo napsané to muselo napsat "špatné heslo" vždy, protože neprázdný řetězec $heslo (zaručeno předchozí podmínkou) jsi testoval proti prázdné (resp. neexistující) proměnné
$bflm[3]
- co očekáváš, že dostaneš ve čtvrtém sloupci, když ti dotaz vrací jen jeden sloupec?
U or MySQL_Error()
přidej print (MySQL_Error())
, ať to aspoň trochu funguje. Nebo rovnou die()
.
Pokud je toto skutečně původní kód, upozornil bych na nutnost ošetření vstupních parametrů, kvůli script injection apod.. Na wz.cz sice asi budou mít zapnuté magic_quotes_gpc
, ale 1) jinde to tak být nemusí, 2) největší sranda je, když to přes noc vypnou.
Pokud je toto skutečně původní kód, upozornil bych na ...no, především dlužno říci, že takto se projekty nepíšou ... jenže on má každej člověk jinej styl, takže bysme si mohli tak akorát zaflejmovat, jak to má "správně" vypadat např. už jenom začátek ... pokud jde o pár stráneček, psal bych to ve stylu:
require_once("konfigurák") or die ("Fatální chyba: Nelze načíst kofiguraci"); if ($db_handle = MySQL_Connect($db_server, $db_user, $db_heslo)) { MySQL_Select_DB($db_mydb,$db_handle) or die ("Fatální chyba: Nelze vybrat databasi"); } else { die ("Fatální chyba: Nelze se pripojit k databazi"); }ale pokud by šlo o něco většího ...
require_once("konstanty"); require_once("sys_funkce"); require_once("db_konfigurace"); require_once("db_funkce"); $db_handle = Pripoj_se_k_databazi($db_databaze_pro_tuto_stranku); if (db_handle == false) { Vyhod_kritickou_chybu ($err_nepripojeno_k_databazi) };... výše uvedený kód prosím brát v tuto nekřesťanskou hodinu s rezervou
Na wz.cz sice asi budou mít zapnuté magic_quotes_gpc
, ale 1) jinde to tak být nemusí, 2) největší sranda je, když to přes noc vypnou.
hm, magic_quotes_gpc
je dle mého pěkná prasárna, ale když už se tu o tom mluví - existuje nějaký jednoduchý způsob, jak z PHPka komunikujícího s databází vymlátit na výstupu řetězec stejný jako na vstupu, tzn. bez přebývajícího/chybějícího oquotování? (tedy jinak než podívat se na konfigurační paramatry a podle toho používat od-quotovávácí funkce?)
... jinak totiž, pokud to někde "přes noc" vypnou, tak kód uzpůsobený na jedno nastavení, začne "přes noc" házet nesmysly
p.s. jak se rozumně česky řekne "oqutovat"?
require_once("konfigurák") or die ("Fatální chyba: Nelze načíst kofiguraci");
K cemu tam je to die
? Ja myslel, ze require_once
samo vyhodi fatal error, takze za or
se v pripade chyby program beztak nedostane.
$spoj = mysql_connect("..... $dotaz = "select..... if (($spoj)&&(mysql_select_db("jmeno",$spoj}}) { $vydotaz = mysql_query($dotaz); if ($vydotaz) { $radek = mysql_fetch_array($vydotaz, MYSQL_ASSOC); // a $radek je asociativni pole, delam uz s tim }; }Jo, a kde se ti tam vzala ta trojka? Nevraci to jen jedno pole (heslo)? {Já používám array, protože mi to vrací jméno a heslo, abych to jméno mohl zobrazit.)
bflm[0]
nebo nechat to bez toho indexu?
mysql_select_db('foo', $lnk) or die ('Can\'t use foo : ' . mysql_error());
lopuch
. To, s jakou tabulkou chceš pracovat, si zvolíš v konkrétním dotazu. Přes mysql_select_db volíš databázi.