Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:258:4dbc:38...–

peter
PHP › Problém s duplikací ID
9. 5. 2018   #220780

A v cem je problem? Bezny sql dotaz pinda chybu, ale program bezi dal. Ty tu chybu muzes a nemusis vypsat. Nemusis tam mit
mysql_query($query) or die(); // staci
mysql_query($query) // nebo pouzit
try ... catch
Ale bude treba to posilat radek po radku. Kdyz bys poslal jeden velky insert, tak ti to zkape a asi se nic neulozi. Nebo mozna jen zacatek. Kdybys posilal transakci, tak zas ti rollback vrati uplne vse zpet. A tak, ty tam chces data hlavne dostat. A pak teprv resit, zda bylo neco duplicitni.
Ja to taky v jednom programu vyresil radek po radku. Takze to funguje. Jestli existuje lepsi reseni jsem neresil :)

Z google.. 

$qry="INSERT INTO redirects SET ua_string = '$ua_string'"   
$result=mysql_query($qry);
if(!$result){
    createLog(mysql_error());
}
 ---
class MySQLException extends Exception {}
class MySQLDuplicateKeyException extends MySQLException {}

function my_mysql_query($query, $conn=false) {
    $res = mysql_query($query, $conn);
    if (!$res) {
        $errno = mysql_errno($conn);
        $error = mysql_error($conn);
        switch ($errno) {
        case MYSQL_DUPLICATE_KEY_ENTRY:
            throw new MySQLDuplicateKeyException($error, $errno);
            break;
        default:
            throw MySQLException($error, $errno);
            break;
        }
    }
    // ...
    // doing something
    // ...
    if ($something_is_wrong) {
        throw new Exception("Logic exception while performing query result processing");
    }

}

try {
    mysql_query("INSERT INTO redirects SET ua_string = '$ua_string'")
}
catch (MySQLDuplicateKeyException $e) {
    // duplicate entry exception
    $e->getMessage();
}
catch (MySQLException $e) {
    // other mysql exception (not duplicate key entry)
    $e->getMessage();
}
catch (Exception $e) {
    // not a MySQL exception
    $e->getMessage();
}

---

    $sql = "INSERT INTO   customer(FIELDS)VALUES(VALUES)";
    mysql_query($sql);
    if (mysql_errno())
    {
            echo "<script>alert('License already registered');location.replace('customerform.html');</script>";
    } 

---

// v pripade transaction 

    function begin() {
    mysql_query("BEGIN");
    }
    function commit() {
    mysql_query("COMMIT");
    }
    function rollback() {
    mysql_query("ROLLBACK");
    }
    .....
    try {
    begin()
    mysql_query("INSERT xyz");
    mysql_query("INSERT xyz");
    mysql_query("INSERT xyz");
    commit()
    } catch (Exception $e) {
    rollback()
    }
peter
PHP › objednavka - nazor na formul…
2. 5. 2018   #220605

Tak uz nic. Uz jsem z tama odstranil vsechno pomocne smeti. A uz to posila realne. Tak to uz neodesilejte :)

peter
PHP › PHP - skládání stránek a vkl…
2. 5. 2018   #220604

V php to muzes resit i pomoci souboru i pomoci db. Ale pomoci souboru to budes mit tezsi, protoze budes muset programovat cely system ukladani, slozkovani a pod.

Z db se pracuje lepe. Sql prikazy vykonaji, co potrebujes. Az na prilohy, soubory (doc, xls, pdf), obrazky a pod. Jo, daji se ukladat i do db, ale opet na to musis naprogramovat mechanizmus. Tusim, ze je mozne to tam ulozit jako binarni data. Pripadne je mozne pouzit base64 format. Pokud mas nejaky wys-cosi editor, tak Tak treba firefox je z toho schopen dostat htm + obrazek jako jeden string. Obrazek je v base64, tag. Coz vetsina modernich prohlizecu umi rozkodovat. Nevyhoda toho reseni je, ze musis zapnout nejakou funkci odmazavani tagu, cisteni a pod. Navic, obecne to base64 nemusi byt obrazkova data, ale binarni soubor, virus.exe. Jiny uzivatel jen zobrazi stranku a uz mu to zkusi zavirovat pocitac.

Jestli chce neco jednoducheho, rekneme zatim bez obrazku, zkus hledat
google = php sql guestbook simple example
Pri trose stesti narazis na funkcni priklad.

Mohlo by to vypadat nejak takhle 

<?php
function fileWrite($file_name,  $data) //$file_pos_line=0,
{
$fn = 'classCsvEdit.fileWrite'.': ';
$opt = array(
'end_time' => 5000, // ms
'type' => 'r+', // !!! ZMENIT na w nebo w+
'dir_chmod' => 0777,
'file_chmod' => 0755
);
$old = umask(0);
// @chmod($dir,$opt['dir_chmod']); // !!! UPRAVIT kod, pokud budes ctit pouzit | nastav prava adresare na 0777
$fp = fopen($file_name, $opt['type']);
if ($fp === false)
{
umask($old);
fce_notice($fn.'Error, file not opened. '.$file_name,'error');
return false;
}
// cekej na locknuti 5000 ms, zkousej to kazdych 0 - 100 ms
$i = microtime();
$i_end = $i + $opt['end_time'];
do {
$can_write = flock($fp, LOCK_EX); // lock
if (!$can_write)
{
usleep(round(rand(0,100)*1000)); // micro-second
}
}
while (!$can_write && microtime()<$i_end);
if ($can_write === false)
{
umask($old);
fclose($fp);
fce_notice($fn.'Error, file not unlocked. '.$file_name,'error');
return false;
}
//fseek($fp, $file_pos_line); // !!! zakomentovat
fwrite($fp, $data);
flock($fp, LOCK_UN); // unlock
fclose($fp);
@chmod($file_name,$opt['file_chmod']); // !nastavit prava k zapisu souboru, 0755 (rwx r.x r.x) nebo 644 (rw. r.. r..) (owner-vlastnik, group-skupina, other-ostatni, r-read, w-write, x-execute; umask, mkdir)
umask($old);
return true;
}



$new = isset($_POST['clanek']) ? $_POST['clanek'] : '';
if ($new!=='')
  {
  $bool = fileWrite('clanky.txt', $new); //zapis
  if ($bool)
    {
    $new = '';
    }
  else {echo 'zapis se nezdaril';}
  }

$all = file_get_contents('clanky.txt');

echo $all;
echo '<form method=post><input name=clanek><input type=submit></form>';
peter
JavaScript, AJAX, jQuery › HTML do proměnné
2. 5. 2018   #220603

Mozna, ze js vubec nepotrebujes, s tim php by sis vystacil. 
V js mam v jednom programu asi takovyto kod, trochu jsem z tama odmazaval, snad to pojede. Vyzkousej si tam dat nejdriv file a spustit to na disku (to se chape jako stejna domena, takze by to melo jet, aspon ve firefoxu).

<pre id='prev'></pre>

<script>
function $(x,d)
{var d=d?d:document, obj; obj = d.getElementById?d.getElementById(x):d.all?d.all[x]:d.layers?d.layers[x]:null; if (obj) {return obj;} else {alert(x);}}

url  = 'file:///C:/xampp/htdocs/www/webapp_aura/ostatni/studenti_na_predmetech/' + path;
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'blob';
request.onload = function() {
    var reader = new FileReader();
    reader.readAsBinaryString(request.response);
    reader.onload =  function(event){
	$('prev').innerHTML = event.target.result;
    };
};
request.send();
</script>
peter
JavaScript, AJAX, jQuery › HTML do proměnné
2. 5. 2018   #220602

Obecne ti nelze poradit, odkazat te leda na google priklady. Neni uplne jasne co chces, proc to chces, kde ta stranka bude. Na vsem zalezi.

Cizi stranka
* Existovala v prohlizeci moznost bookmaklet. Udelas zi zalozku, ktera spusti js.
* Pak je tam podobna moznost, nejaky plugin, nepouzivam, kde je mozne napsat vlastni js.
* Php file_get_content a pak neni problem to nacist jako stranku do html iframe nebo js httprequestu.

Stejna stranka (domena, jen to spoustis streba z podslozky)
* js httprequest
* php file_get_content
* iframe + js
Pokud to neni prave stejna stranka, tak ti prohlizec nedovoli manipulovat s obsahem.

Pr. 

http://php.net/manual/en/function.file-get-contents.php
--- soubor.php ---
<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>
peter
Návrhy na vylepšení › editace anonym
25. 4. 2018   #220519

Registrace - To mas o jedno heslo vic k zapamatovani. V tuto chvili mam na ruznych webech, hrach, v praci kolem 50 hesel, vetsinou, kazde jine. Hlavne proto, ze tam maji ruzne kontrolu a temi nektere univerzalni hesla neprosla. Nebo tam je prihlasovaci nick uz zabrany nebo neprojde kontrolou.
Co treba to propojit na fb ucet? Ten mam a donedavna jsem tak komentoval prispevky na zive.cz, treba. Pouziva to i
https://www.itnetwork.cz/…t-webtvorba/

náhled příspěvku - No, to prave neni stejne. Ani rozlozeni pisma a navic mas vpravo tu listu +0-, cas a dalsi veci.

To byl jen napad. Jestli se ti neco libi, pouzij, zbytek zahod :)

peter
JavaScript, AJAX, jQuery › Získání dat z DOM stránky
24. 4. 2018   #220512

Hele, mrknu na to spis zitra. Dneska potrebuji resit jeste objednavkovy formular, zasilani na mail a tez mame za chvilku schuzku.

peter
JavaScript, AJAX, jQuery › Získání dat z DOM stránky
24. 4. 2018   #220511

jeste jsem ten kod trochu upravil a mrknu, cos napsal...

<span onclick="my_form.barva='cervena';xxx();">cervena</span> | 
<span onclick="my_form.barva='modra';xxx();">modra</span> | 
<span onclick="my_form.barva='zelena';xxx();">zelena</span>
<br>
<span onclick="xxx();">zobraz objednavku</span>
<pre id=yyy></pre>

<script>
var my_form = {};
function xxx()
{
str = '';
for (i in my_form)
  {str += i+': '+my_form[i]+"\n";}
document.getElementById('yyy').innerHTML = str;
}
</script>
peter
JavaScript, AJAX, jQuery › Získání dat z DOM stránky
24. 4. 2018   #220509

Nezkoumal jsem, jak ten script presne funguje, ale ja bych to resil tak, ze pri onclicku bych si ulozil hodnotu. 

<span onclick="my_form.barva='cervena';">cervena</span>
<span onclick="my_form.barva='modra';">modra</span>
<span onclick="my_form.barva='zelena';">zelena</span>

<span onclick="xxx();">zobraz objednavku</span>

<script>
var my_form = {};
function xxx()
{
str = '';
for (i in my_form)
  {str+=i+': '+my_form[i]+"\n";}
alert(str);
}
</script>

Jinak, data se vybiraji pres jquery pomoci
el_select.val(); <select><option value="123">
el_input.val(); <input value=123>
el_textarea.val()
el_div.text(); <div>123</div>
el_div.html(); <div><tagy>123</tagy></div>
 

peter
Software › Facebook firefox
24. 4. 2018   #220506

Nevim jak, proc, ale vcera vecer to prestalo zlobit. Ale zatim to nemam uplne testnute.
V jednu chvili jsem prepnul na svuj profil a pak slo chatovat plynule.
Ale mozna to take souvisi s tim, ze zapojovali facebook do nix.sk uzlu.

peter
Software › Facebook firefox
23. 4. 2018   #220496

ups, do nadpisu by to chtelo pridat jeste 'snizeni vykonu'

peter
Software › Facebook firefox
23. 4. 2018   #220495

Vsiml jsem si za posl. 2 dny, ze se FB seka. Firefox 58-59. Schvalne jsem si pustil seznam procesu (ctrl+shif+esc) a provedl par experimentu.
* ctrl+n - otevreni noveho okna narazove ukouslo 10% vykonu
* facebook - pri nabihani stranky sezral dokonce 50-60% vykonu
* Pri spusteni FF to tusim narazove bere 20% vykonu a strasne pomalu se spousti. Jakoze, kdyz na pozadi treba instaluji updaty nejake hry, tak to nabiha jako snek. A pritom na vykresleni par obrazku a bileho obdelniku nevidim nic tak sloziteho. Dokonce by si to mohl ulozit cele okno jako obrazek :) Nebo nekolik obrazku, pokud ma nekdo rad zalozky.

Mate nekdo podobnou zkusenost?

peter
OS - Windows › Win10 64/32bit
20. 4. 2018   #220466

#9 Kit
Spis jsou jine. Nektere jsou i vic neprijemne, jako kompletni zniceni partition nebo uplne zablokovani sitove karty. U win bys udelal preinstalovani ovladace, u linuxu neslo nic, ani modprobe, nic. Slo to povolit docasne jakymisi asi tremi prikazy, ale po restartu jsem byl zas bez sitove karty. Dodelanost linuxu hodnotim take na 10% a za 20 let se nic nezmenilo :) U Win jsou nektere veci lepsi, uzivatelsky administracne privetivejsi. Nicmene, zda se, ze W10 je jeste nema. V tuto chvili je ten rozdil skutecne minimalni. Dokud neupgraduji w10 do stavu aspon XP :)

peter
OS - Windows › Win10 64/32bit
20. 4. 2018   #220465

Znam. Taky mi to delalo u notebooku. Do ted jsem neprisel na to, co s tim. Mozna se to nejak samo spravilo, uz.
Kazdopane, aktualizovani se da hodne omezit. Jen to neni pruhledne, tak snadne najit.
Myslim si, ze to souvisi s tim, ze mam firemni licenci a on se odmita aktualizovat mimo firemni sit. Ale mozna to pindalo i v praci, uz nevim.
U win7, asi 5 pc (z 50) to bylo podobne. Tam to dokonce bylo v takovem stavu, ze on stahl aktualizace, 20, asi 10 min, spustil instalaci, asi 10 min. Pak vyhlasil, ze to nenainstaluje a spustil bod obnovy, 30 min. A po 50 min se cely kolotoc opakoval, dokud jsem konkretni aktualizace nezakazal :) U nekterych pc pomohlo nainstalovat aktualizace v jinem poradi, zakazovat a povolovat. Hloupe je, ze jeden z tech pc byl ciste preinstalovany. Vsechny jsme je preinstalovali a bylo to ok.

Takze muzu rici, ze tohle chovani pochazi uz z win7. A tak nejlepsi volbou by byli  XP jako stabilni system. Nic potom uz neni spolehlive. W10 maji pouzivat rozdilove aktualizace a nemusi se restartovat tak casto. S vyhledem do budoucna bych sel do w10. Ale zatim je povazuji za dodelane jen na 10%, takze vicemene peklo na zemi :)

peter
Pascal › pascal easy úlohha
20. 4. 2018   #220459

   

for i:=1 to m do; -- strednik za do je totez jako napsat
for i:=1 to m do begin end;

Kdyz chces neco provadet opakovane, musis to dat dovnitr toho cyklu
for i:=1 to m do
	begin
		... prikazy ...
	end;

Pokud je tam jeden prikaz, lze to napsat bez begin end.
for i:=1 to m do
	begin
		prikaz();
	end;
for i:=1 to m do
	prikaz();
for i:=1 to m do prikaz();

Dva cykly v sobe se daji zapsat take bez begin end nebo s nim. Podle toho, co se ti hodi. Osobne radeji pouzivam begin end.
for i:=1 to m do
	for j:=1 to n do
		begin
			... prikazy ...
		end;
for i:=1 to m do
	begin
		... prikazy ...
		for j:=1 to n do
			begin
			... prikazy ...
			end;
		... prikazy ...
	end;

Cili, ta uplne nejmensi verze, ktera by mela fungovat je
for i:=1 to m do
	for j:=1 to n do
		a[i,j] := random(99) + 1;
peter
OS - Windows › Win10 64/32bit
19. 4. 2018   #220446

W7 - W10 je nestabilni system a ma problemy s aktualizacemi. Obcas je treba oba systemy po aktualizacich restartovat, nefunguje inet. W7 nekdy i vicekrat.
W7 nema jiz podporu MS, takze vetsi aktualizace nebudou. Muze behat sviznejsi na starsim hw.
W10 se da pouzivat, ale je treba cekat necekane problemy. Posledni dobou caste problemy s ovladaci, podobne W8. Aktualizace proti W7 jsou mnohem pohodovejsi zalezitost.
W10 64 nepodporuji nektere programy, na ktere jsi treba zvykly.

Osobne W8-W10 hodnotim jako system hotovy na 10%. Postupne to dodelavaji a delaji obri aktualizace. uvidime, co z toho vyleze. Zatim jsou s tim jenom problemy.

Kdybych si mel vybrat, tak chci W10. Pokud je cpu 64, tak 64.
Hw intel min 5, lepe 7 nebo 9 (Intel Core i5 = ok).
4G ram jsou dost malo na hry, ale na vse ostatni to staci.
160G hdd je dost na hrane, W10 + office + dalsi veci mi ted zabiraji 40G. Ale je to ssd, coz je 30x lepsi nez rotacni hdd. Hry ssd muzou celkem rychle odrovnat.
10 usb muze byt vyhodne, ale obvykle staci 6.
 

peter
JavaScript, AJAX, jQuery › Jak předat text parametrem f…
13. 4. 2018   #220381

Jo, asi zkousis nejaky nesmysl.
Pres js se da odesilat pres httprequest (jquery). Nebo muzes pouzit skryty iframe (display:none) a menit u nej src. Nebo muzes u tagu script menit src.
Jak to delas, bych to nedelal. Radeji bych odesilal formular ze stranky. Pro zacatecnika lepsi nez se drbat s javascriptem, ktery mnohdy neni uplne kompatibilni.
google = javascript httprequest example get post

peter
JavaScript, AJAX, jQuery › Jak předat text parametrem f…
13. 4. 2018   #220380

function escapeHtml($str)       {return htmlspecialchars($str);}
function escapeUrl($str)       {return urlencode($str);}

$odkaz = "index.php?a=" . escapeUrl("str");
echo '<a rel="nofollow" href="'.escapeHtml($odkaz).'">odkaz</a>'

peter
JavaScript, AJAX, jQuery › Javascript předání ID záznam…
13. 4. 2018   #220379

Mas divne dotazy. Zkusim ti objasnit, jak to funguje, jak se to obvykle dela, bez vetsiho zabezpeceni.

- Ty si pohlidas v php kodu, treba pomoci session, zda je uzivatel prihlasen, overis si jeho loginy ze session, pripadne nejake session id. (To je jeden include radek na externi php soubor, ktery ho pri spatnem loginu presmeruje na logovaci stranku, treba. Takze nic sloziteho, pokud ten kod uz pouzivas jinde.)
- Pak mu dovolis normalne spustit smazani. Je jedno, zda pres get, ale lepe pres post.
- Neni problem, paranoidne zkontrolovat prava pred kazdym sql dotazem, resp. tvoji funkci. A tez se dela odpojeni po ukonceni sql dotazu, ihned. Preberes data pres fetch a odpojis. Po te data treba zobrazujes nebo zpracovavas dal.

Samozrejme, ted jde spustit treba 10x smazat. To se da vyresit presmerovanim na jinou stranku pomoci header.
Cili, ten mazaci kod budes mit treba smaz.php, form action=smaz.php. A smaz.php ho pres header vrati na puvodni stranku, treba index.php. Tu stranku si muzes taky odeslat formularem, odkazem.
K presmerovani pripojis do adresy treba parametr, ktery uzivateli vypise chybu nebo, ze akce probehla v poradku.
Pokud se jedna o hackera a spusti ti tam neco 10x, tak s tim mnoho nenadelas. Ale 10x nesmaze radek z db, protoze radky maji sve autoincrement id, obvykle, a takove tam existuje jen 1x. Jenom ti hacker trochu zatizi server.
Samozrejme se da vyuzit toho, ze se uzivatel neodhlasil, odesel od pc a spustit tam nejake dalsi kody. Ale s tim ty mnoho neudelas, session je platne, nemuzes vedet, ze tam uz nesedi puvodni uzivatel.

Mno, co se tyce sql. K sql se pripojujes z php kodu na sveho univerzalniho uzivatele, treba fix_www / heslo. Ten je univerzalni pro kazdeho uzivatele webu. Ty tedy hlidanim prav v php musis zabezpecit, aby se tedy nespustil zadny sql dotaz, pokud uzivatele radne neoveris.
Tady je moznost, pokud to hosting umozni, udelat si nad databazi vic uzivatelu. A pak se muzes k sql pripojovat ruznymi uzivateli s ruznymi sql pravy. Ale to se obvykle neda, obvykle mas 1 usera (free db hostingy). Ale ta moznost je, na localhostu nebo lepsim hostingu.
Muzes pak nastavit prava treba fix_quest, ktery si smi prohlizet treba jen nektere tabulky a at posila jake chce prikaxy pres php, tak sql ho nepusti k tem ostatnim. Takze, pokud to jde a vis, co delas, rozhodne doporucuji. Jenze, stale to zavisi na tom, jak dobre poresis prava pres php, aby te quest nzziskal nekde admin prava. Dobre reseni je obvykle pracne. Tys zadal jednoduche, bohuzel.

peter
PHP › Získanie dát z druhej tabuľky
13. 4. 2018   #220378

Bud pouzijes join, viz Kit a nebo cely ten kod budes muset prekopat, abys ho mel spravne.

google = mysql query select left join example
-> http://www.mysqltutorial.org/…in.aspx ;
priklad propojeni tabulek customers a orders

SELECT
 c.customerNumber,
 c.customerName,
 orderNumber,
 o.status
FROM
 customers c
LEFT JOIN orders o ON c.customerNumber = o.customerNumber;

Ta druha moznost je horsi. Tam je treba zmenit cely kod.

'Skúšal som túto časť kódu $ponuka_get = ... Dávať aj do cyklov while, ale bezúspešne, výsledok stále rovnaký.'
Njn. Takze zpet k zakladum.

$query    = "SELECT * FROM `rezervacie` WHERE `userid`>='".$_SESSION['uid']."'"; // nemas osetreny vstup do sql dotazu
$resource = mysqli_query($connect, $query) or die(mysqli_error($connect));
// nemas tam vubec kontrolu, zda je resource objekt, cili neni ===false
while(($row = mysqli_fetch_assoc($resource))!==null) // nemas kontrolu zda neni $row null
	{
	$id = $row['destinationid'];
	}

Co to ted udela?
- Do promenne $query ulozis zapis sql dotazu jako string. Doporucuji pouzivat pomocnou pormennou.
- $query predas funkci mysqli_query
- ta vrati false / mysqli_result_object (true)
- z tohoto specialniho objektu lze ziskat data jen pres mysqli_fetch_assoc neb jinou fetch funkci
Super, takze mas cyklus, ktery z resource ziskava $id. V tom cyklu to $id nijak nepouzivas. Po skonceni cyklu zustane v $id pouze posledni hodnota. Takze do toho cyklu musis pridat nejaky dalsi kod, ktery to $id nejak pouzije. Treba aspon echo $id; 

// Pr. 1 - echo pod cyklem, pod zavorkami { ... } echo $id;
$id = 1;
$id = 4;
$id = 2;
echo $id; // Vypise 2.

// Pr. 2 - echo uvnitr cyklu, uvnitr zavorek { ... echo $id; }
$id = 1;
echo $id; // Vypise 1.
$id = 4;
echo $id; // Vypise 4.
$id = 2;
echo $id; // Vypise 2.

Pokud to id ches pouzit pro dalsi sql dotaz, tak klidne muzes. Ale pak vse, kolem toho dotazu musi byt uvnitr prvniho while. A to plati i pro vypis.

function sql($query) // connect potrebujes pouze v pripade, kdy pouzivat 2 a vice connectu
{
return  mysqli_query($query) or die(mysqli_error());
}

echo '<pre>';
$query1   = "SELECT * FROM `rezervacie` WHERE `userid`>='%s'";
$query2   = "SELECT * FROM `ponuky` WHERE `id`='%s'";
$q1 = sprintf($query1,$_SESSION['uid']); // A1
$r1 = sql($query); // A2
while(($row1 = mysqli_fetch_assoc($r1))!==null) // A3
	{
	$id1 = $row['destinationid'];
	var_dump($row1); // A4
	$q1 = sprintf($query2,$id1); // B1
	$r2 = sql($query); // B2
	while(($row2 = mysqli_fetch_assoc($r2))!==null) // B3
		{
		var_dump($row2); // B4
		}
	}
echo '</pre>';

A1 - A4 je v podstate stejne jako B1-B4. Ale B je uvnitr cyklu pro A. Kdezto ty to mas pekne pod sebou, takze se vypise pouze jedina hodnota, radek.
Pozn. To sprintf neresi tvuj problem s bezpecnosti, pouze jsem si chtel zjednodusit praci a mit ty sql dotazy pohromade.

peter
JavaScript, AJAX, jQuery › Automatické presmerovanie s…
13. 4. 2018   #220377

Nova stranka se neblokuje, pokud to ma uzivatel pro dany web povolene.
Blokovani se moc obejit neda, protoze to zneuzivaji pro reklamy, tezby kryptomen a ruzne viry.

sledujserialy.sk/serialy/
Resi neco podobne, kliknutim na prehravani na video. Muzes zkusit zkouknout jejich kod.
Nastesti adblocky, ktere jeste zlocinci nestihly odkoupit dokazi takove stranky zablokovat.
Ta webka tam ma jakesi js nacitani stranek a nejspis tezi i kryptomeny. Se nejaky cas ceka. Pak teprve jde dalsimi kliky video spustit.

Mozna by slo udelat, ze si pres httprequest nactes stranku a pak obcah vepises do noveho okna.
//obsah = ... htttprequest ...
win = window.open('','_blank');
doc = win.document;
doc.write(obsah)
 

peter
JavaScript, AJAX, jQuery › Doučko JavaScript
13. 4. 2018   #220376

Napis dotaz, zkusime vysvetlit. Treba, kdyz ti ukol nefunguje. Ale pocita se s vlastni iniciativou. Vetsina lidi moc nechce reagovat, kdyz sem das zadani a vyreste to cele za mne :)

peter
JavaScript, AJAX, jQuery › Javascript alert funguje jen…
9. 4. 2018   #220287

Tys mne nepochopil. Showmodal funguje spravne. Pokud mas chybu v php a generujes s nim html, tak to nejlepe uvidis ve www prohlizeci, webova / javascriptova konzola nebo zdrojovy kod stranky. Tam vidis html kod, ktery generujes phpckem. To, co popisujes, s tim textem, to mas na pastebin jako fff. To funguje spravne.
Ten php kod mas samozrejme spatne, uvozovky, treba. Mi slo spis o to, aby sis to nasel sam a vvedel, jak takove chyby najit.

peter
Návrhy na vylepšení › Nejde mi přispívat na fórum…
5. 4. 2018   #220239

Zkus pockat na dalsi update. I ve FF ted delaji ruzne cary mary a funguji nektere veci jen v nekterych verzich. Treba, ja byl donucem downgradovat z 59 na 58 :)

peter
Assembler › i8086 - zoradenie čísel
5. 4. 2018   #220238

Razeni, treba v js vypada takto 

function cmp(a,b) {return a-b;}
sort(arr);
// if (cmp(arr[i],arr[j])>0) {neco proved}

sort je nejaky serazovaci algoritmus, ktery porovnava 2 hodnoty a pak s nimi neco provede. K porovnani si vola funkci cmp.
Serazovaci alg. muze vypadat treba nejak takhle 

// pro 4 cisla
if (cmp(arr[n][i+0],arr[n][i+1])>0) {swap(n,i+0,i+1);}
if (cmp(arr[n][i+2],arr[n][i+3])>0) {swap(n,i+2,i+3);}
if (cmp(arr[n][i+0],arr[n][i+2])>0) {swap(n,i+0,i+2);}
if (cmp(arr[n][i+1],arr[n][i+3])>0) {swap(n,i+1,i+3);}
if (cmp(arr[n][i+1],arr[n][i+2])>0) {swap(n,i+1,i+2);}

// pro n cisel - kod z wiki
insertionSort(A)
   pro i od 1 do počtu prvků opakuj:
       hodnota = A[i];
       j = i-1;
       pokud j >= 0 a zároveň A[j] > hodnota opakuj:
           A[j+1] = A[j];
           A[j] = hodnota;
           j--;
peter
Assembler › 8086 - vypis registra v hex…
5. 4. 2018   #220236

Muzes si vygenerovat prevodni tabulky.
- 0-15 ... 0-F nebo
- totez + 0-15 shiftnute vlevo o 4. Takze, pak to staci jen z andovat.  A nebo
- kompletne pro vsechny 0-255 (php/pascal chr/ord)

peter
Offtopic › Jak resit editaci tabulky vi…
5. 4. 2018   #220235

Jo, a pak teda nastava problem tez pohodlne editace. Kdyz se do TD zapise INPUT, tak se nedaji kopirovat cele radky nebo 5 bunek najednou z 12, treba. To jeste nejak vymyslim, ale kdyby mel nekdo napad, tim lepe :)
U klasicke tabulky, oznaceni nekolika TD a vlozeni do excelu, to jde. Pekne to rozdeli na sloupecky. Takze to same bych udelal pri vlozeni do inputu. Ale zas, kdyz kliknutim na bunku vytvorim INPUT v ni, tak nemuze oznacovat tabulku jako TD. To jsou takove dost protichudne veci :) Excel to ma asi jednodussi s tim, ze kazda bunka se chova jako input. jenze input v html, kdyz se v nem oznacuje text, tak oznacovani nemuze pretect. Nelze tak oznacit 2 inputy, text v nich. To je proste neresitelny problem. Teda, nez neco vymyslim :)

peter
Offtopic › Jak resit editaci tabulky vi…
5. 4. 2018   #220234

Mam tabulku, kterou bych potreboval, aby mohlo editovat vice uzivatelu. V tabulce jsou citliva data, takze kolega nechce pouzit Office 365.

Jak to teda udelat nejlepe a pohodlne? Idealne, aby to fungovalo jako v excelu. Snadne kopirovani bunek, radku a tak?

Zatim mam vymyslene jen casti samostatne.
- PHP, kteremu poslu request, on prida, smaze, updatuje radek v csv. + to loguje + kopiruje soubor jako zalohu, historii. Otevre csv, zmeni, zavre csv.
- html, ktere zobrazi csv jako tabulku a kliknutim na policko se zmeni na input.

No, ale to je editace po policku a ted bych musel pro kazde policko odesilat request na cely radek. A kdyz bude chtit vice uzivatelu editovat? Kdyz nekdo neco zmeni, tak by se jinym musel nacist cely csv nebo by museli ziskat aspon seznam zmen. Jenze, co kdyz edituji zrovna stejny radek? A co kdyz ten radek predchozi uzivatel smazal? Mam jim to smazat pri editaci? :)
V podstate, principialne by to mohlo fungovat jako takovy chat. Ze bych si pri odeslani stahl zrovna i seznam novych zmen. Proti chatu se to prave komplikuje tim, ze radky. Muj radek 12 neni 12, pokud mi mezitim nekdo smazal radek 5 a 8, treba. Takze edituji radek 10.
Nebo to muzu jeste blokovat zamkem. Ale obcas pracuji 2 lide ve stejne budove na jinych mistech se stejnou tabulkou naraz. Takze zamcenim by ten druhy nemohl editovat.

Nejake napady? Nebo dalsi problematicke situace?

peter
PHP › Ako vytvoriť kategórie a pod…
5. 4. 2018   #220227

S tim ti neporadim. Spis nekdo jiny. Zas tolik o xml nevim. Tam bys mel asi parsovat xml jinym zpusobem. Najit zbozi a jeho kategorie. Ten kod, ktery jsi dal na zacatku vybere vsechny tagy <kategorie> z celeho xml nezavisle na tom, zda patri ke zbozi nebo ne. Ty bys tam mel mit se zbozim neco jako
$zbozi  = $children->zbozi;
$cat_str = $zbozi->kategorie;
Ale nejsem si jisty, zda to jde takhle napsat.
 

peter
PHP › Ako vytvoriť kategórie a pod…
3. 4. 2018   #220199

mne napadlo pres svatky, ze to porovnani pro parent id by slo udelat jako string a neni treba pak nic vyhledavat. Jakoze nejdriv to explodujes a pak implodujes. Zhruba neco takove. Je to spis myslenka, nezkousel jsem to.

arr = explode(' / ', str);
parent = ''
cyklus (i = 0..count(arr))
{
name = arr[i];
cyklus (j = 0..count(out))
{
if (out[name]==name && out[parent]==parent)
  {break}
}
if (j<count(out))
  {out[] = array('name'=name,'parent'=parent)}
parent .= arr[i].' ';
}
peter
Matematika › Rychlost auta
3. 4. 2018   #220198

s = v * t
v = 30 km/h
t = ?
s = 6.3 km
6.3 = 30 * t [h]

peter
C / C++ › QT - Tvorba hry
29. 3. 2018   #220177

Na geometrie nevidim, neslysim :) Tudle jsem chvili psal do jakehosi math fora a dali mi ban, za to, ze prozrazuji skolni ulohy a ze si na mne jedna ucitelka zasedla, ze tam pry strasne skodim :) Pritom ona se k tazatelum obvykle chovala dost nevlidne. Ale kdyz uz neco resila, tak to bylo samozrejme na jednicku, to zas jo.

peter
C / C++ › QT - Tvorba hry
29. 3. 2018   #220174

Jeste je jeden zajimavy pripad, ktery jsem nezminil. Kdy ten objekt A (naboj) je vetsi nez B (meteor).
Takze by bylo mozna dobre provest jeste opacnou kontrolu. Zamenit tam A a B.
A[  B  ] - B je v A, souradnice Bxy, Ax1<Bx1<Ax2
B[  A  ] - A je v B, Ax1>Bx1>Ax2
Ted ti nereknu, jak jsem to nekde resil, ale tusim to jde napsat nejak zjednodusene. Ale je treba zacit tim, ze si napises uplne vsechny podminky pro vsechny pripady. Cili, nakreslis si 2 ctverecky, jeden mensi, udelas prekryti, vsechny strany, rohy. Pak velikosti otocis a udelas totez. Jake podminky plati pro x1, x2, y1, y2 pro A i B.

peter
PHP › Ako vytvoriť kategórie a pod…
29. 3. 2018   #220165

// id, lvl, name
id - je id rodice, nadrazene kategoie.
Kdyz id==i pro cyklus vypisovani pole $out[$i], tak je to hlavni kategorie, lvl=0.
kdyz id!=i, tak je to podkategorie, lvl=1,2,3.... Id je tudiz odkaz na nadrazenou kategorii, $out[$id][2] je nazev nadrazene kategorie.

Nebo muzes pouzit zapis pomoci textovych klicu, indexu... 

array(count($out), $i, $arr[$i]); // zmenis na
array('id' => count($out), 'lvl' => $i, 'name' => $arr[$i]);
$out[$id][2] // zmenis na
$out[$id]['name']

id, name potrebujes pak pro databazi. Mozna i lvl. S lvl se to da zkomplikovat tak, ze muzes mit stejny nazev kategorie, ale s jinym lvl

obleceni / spodni pradlo / plavky / zeny
obleceni / kalhoty / zeny

Kdezto ten muj kousek kodu tohle neresi. On by v $out nasel 'zeny' maji nadrazenou kategorii 'plavky' a kalhoty i plavky by byli pod plavkami. Takze, krome nalezeno bys musel zkontrolovat jeste 

if ($nalezeno===false && $out[$nalezeno]['lvl']==$i-1) // level nebo lepe...
if ($nalezeno===false && $out[$nalezeno]['name']==$arr[$i]) // name a nebo jeste lepe oboje lvl i name

A uplne nejlepe vsechny name vsech nadrazenych kategorii, proc?

hracky / drevene / modre
zidle / drevene / modre

Tady by ti zas 'modre' 'drevene' 'zidle' zaradil pod 'hracky' :)


Jenze, nastava tu trochu problem, zda chces do db pridat nove kategorie nebo kompletne prepsat celou db. Pridani by bylo malinko slozitejsi. Musel by sis vytahnout z db nejvetsi id kategorie a pak pri zapise k nemu pricitat $i pri prochazeni pole $out. jinak si prepises v db nejakou kategorii, ktera tam uz je.
A dalsi problem, pokud v db uz je stejne nazvana kategorie.

peter
PHP › Ako vytvoriť kategórie a pod…
29. 3. 2018   #220164

juraj175 - Kdyz to nejde spustit, si tam na zacatek pridej error_reporting a melo by to vypsat chyby, proc. Jsem doufal, ze se v tom kodu vyznas, kdyz je v podstate stejny, jako tvuj.

@ini_set('error_reporting', E_ALL);
@ini_set("display_errors", "on");
error_reporting(E_ALL);

Ok, ale problem je malinko slozitejsi. Tak, musis ukladat i level, uroven kategorie.

$out[] = array(count($out), $i, $arr[$i]); // id, level, name

Ted vznika rozpor, zda pouzit in_array nebo spis array_search. Pres array_search ziskas key, kde to je v $outu; $nalezeno = $out[$key]. Pokud to nenajde, pridas to nakonec. Pokud to najde, tak $key = $id rodice, parent, nadrazene kategorie. 

if ($nalezeno===false)
  {
  array(count($out), $i, $arr[$i]); // id, lvl, name - id = nova polozka pole
  }
else
  {
  array($out[$nalezeno][0], $i, $arr[$i]); // id, lvl, name - id = id nalezene kategorie
  }

A s timhle to uz muzes nasoukat do sql.
Level ukladat nemusis, v podstate. Ale muzes, pro kontrolu a mozna ti to pomuze s nekterymi sql dotazy.

peter
PHP › automatické přidání vyplněné…
27. 3. 2018   #220131

??? Neni mi uplne jasne, co chces docilit. Nic z toho, co zminujes nepouzivam. Formular mailem se da poslat treba takhle

<form name="doposty" action="mailto:mracek@xko.cz" method="get" enctype="text/plain">
<table cellspacing="0" align="center">
<tbody valign="top">
<tr>	<th align="right"><label>Nadpis:</label></th>
	<td><input name="Subject" value="Mail z www" readonly="readonly" type="text"></td></tr>
<tr>	<th><label>Zpráva:</label></th>
	<td><textarea name="Body" cols="40" rows="7"></textarea></td></tr>
</tbody></table>
<p align="center"><input value="Přesunout do mailu" type="submit"> (Outlooku)</p>
</form>

Kdyz to chces pres php, tak jen zmenis action a pridas kolonku 'to' propadne 'from' (jmeno si muzes zvolit, ale v php musi byt stejne vcetne velikosti pismen. Nebo oboje ci jedno z toho vyplnis primo v php)

<form action="mailto:mracek@xko.cz" method="post" enctype="text/plain">
<form action="soubor.php" method="post" enctype="text/plain">
komu: <input name="to" value="" type="text">
od koho: <input name="from" value="" type="text">
 

A v php mas pak kod
http://php.net/…ion.mail.php

--- tohle je example ---
<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

--- a jeho uprava ---
<?php
$from    = $_POST['from']; // $from = 'webmaster@example.com'
$to      = $_POST['to'];
$subject = $_POST['Subject'];
$message = $_POST['Body'];
$headers = 'From: ' . $from . "\r\n" .
    'Reply-To: ' . $from . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

Nebo si to muzes ulozit do souboru nebo databaze, pak misto mail pouzijes fwrite, opet viz priklady. Tady bych ti poradil zadat do
google = php guest book example fwrite (navstevni kniha)

php.net/fwrite

mail($to, $subject, $message, $headers);


<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);

// the content of 'data.txt' is now 123 and not 23!
?>

--- uprava ---

<?php
$str = implode(';', array($from, $to, $message) . "\n";
$fp  = fopen('data.txt', 'w'); // otevrit
fwrite($fp, $str); // zapsat
fclose($fp); // zavrit

// the content of 'data.txt' is now 123 and not 23!
?>

google = php guest book example database
google = php guest book example wordpress

S databazi je to slozitejsi, tam je vic druhu, zadnou konkretni jsi nezminil. Nevim, co minis tim wordpressem a tak, jak si to predstavujes. Wordpress funguje tak, ze ma na disku soubor s databazi. Ta obsahuje tabulkyy, ktere vypadaji jako tabulka z excelu. Mas tam zahlavi a udaje. Wordpres dela jen to, ze pouzije sql prikaz, ktery data z tech tabulek vytahne nebo do nich zapise. Je to podobne jako se souborem, ale s sql prikazy se lepe pracuje, sami resi ulohy jako vyhledat, ulozit, kam, jak. U souboru by sis to musel naprogramovat, funkci pro vyhledani, treba vsechny komentare pro stranku id=12345. Ok. No, jenze potiz je, ze wordpress ma vlastni tabulky a ten program s nimi pracuje. Pokud si chces sam neco pridavat, pak si nejspis budes muset vytvorit valstni tabulku. Nebo najit plugin, ktery umi pracovat s wordpressovymi tabulkami bez toho, aby data v nich poskodil. Nebo plugin, co si sam prida vlastni tabulku a pak s ni pracuje.

Jinymi slovy, musel bys vedet, co presne jsou zac udaje, ktere posilas a mail, aby se ti dalo poradit, jaky konkretni plugin by mohl pro wordpress splnovat tve pozadavky. Nebo tam mozna uz je neco pripravene. S wp nepracuji, takze nevim. Ale je tu fura lidi, co ho zna.

peter
PHP › Ako vytvoriť kategórie a pod…
27. 3. 2018   #220130

No, a v cem je jako problem. Co ti to dela, nedela. Nejaky funkcni example? Jakoze mluvis o necem jinem nez odpovida xml kodu.

Drogerie
Kuchyně
Mytí nádobí
Ruční mytí nádobí

<kategorie>Drogerie / Praní / Prací prostředky / Speciály</kategorie>

Jakoze explode ti bude fungovat, ale v kodu mas mezery. Ale nejsem si ted uplne jisty, co to udela, kdyz tam lomitko nebude, jestli bys tam nemel mit jeste podminku na strpos().

$kategoriep = explode("/", $catname);
$kategoriep = explode(" / ", $catname);
 

Tam se da pouzit foreach a pak se to da napsat trochu jinak

for($i=0;$i<count($kategoriep);$i++){
foreach($kategoriep as $key=>$value){
if(!in_array($kategoriep[$i],$output)){
if(!in_array($value,$output)){
 

A ted zbyva zjistit, co presne chces docilit. Chces udelat seznam vsech stringu, co se muzou vyskytovat v $category->kategorie? Nebo tam chces resit i level? S levelem by to mohlo vypadat takhle:

if (!isset($output[$key])) {$output[$key] = array();}
if(!in_array($value,$output[$key])){
$output[$key][] = $kategoriep[$i];
 

A mimochodem, tohle bych prejmenoval

foreach($xml->children() as $category) { $catname = $category->kategorie;
foreach($xml->children() as $product) { $catname = $product->kategorie;
 

peter
PHP › Nefunkční tlačítka
23. 3. 2018   #220097

Hm, jak to popisujes, tak by mi to nevyhovovalo. Radeji delam slovnik podle sebe a umisteni na strance nez spolehat na automaticky preklad. Auto preklad muze byt ok, ale ve vyznamu umisteni v kontextu uz je to treba jine, divne, matouci, nesouvisejici. A tak radeji, at je to anglicky nez tam mit nejaky cesky jiny vyznam.

peter
JavaScript, AJAX, jQuery › Vloženie emotikonu do conten…
23. 3. 2018   #220095

Zkus pouzit span / font-size/line-height, padding, background.
A kdyz po smajlikovi pises dal, tak, kam dava pismenka?

peter
PHP › Nefunkční tlačítka
22. 3. 2018   #220086

Jako, myslim, on, ze to treba napise.

peter
PHP › Nefunkční tlačítka
22. 3. 2018   #220085

Jo, to mi prave taky. Treba to bliz vysvetli, kde se roblem nachazi.

peter
JavaScript, AJAX, jQuery › Nezobraziť obsah ak
22. 3. 2018   #220084

google = js detect chrome browser 

isChromium = window.chrome// is Google Chrome on IOS
winNav = window.navigator,
isIOSChrome = winNav.userAgent.match("CriOS");
// ------
  isChrome: /Google Inc/.test(navigator.vendor),
  isChromeIOS: /CriOS/.test(navigator.userAgent),
  isChromiumBased: !!window.chrome && !/Edge/.test(navigator.userAgent),

google = js chrome detect active microphone 

// initialization
if( localStorage.getItem("voice_access") === null ){
    // just assume it is prompt
    localStorage.setItem("voice_access", "prompt");
}

// Then somewhere
navigator.getUserMedia({audio: true}, function(e){

    // http://stackoverflow.com/…3581/1008999
    //
    // In chrome, If your app is running from SSL (https://),
    // this permission will be persistent.
    // That is, users won't have to grant/deny access every time.
    localStorage.setItem("voice_access", "granted");

}, function(err){
    if(err.name == "PermissionDismissedError"){
        localStorage.setItem("voice_access", "prompt");
    }
    if(err.name == "PermissionDeniedError"){
        localStorage.setItem("voice_access", "denied");
    }
});

Mozna na jine strance.
https://forums.asp.net/t/2104615.aspx?…

Mozna, muzes zkusit pridat navod, jak zapnout mikrofone. Spousta uzivatelu to nevi. Treba je nutne povolit mf u win, pak v chrome a pak jeste tvym tlacitkem. Mozna by slo neco nahrat, zjistit, ze je to jen sum a vypsat uzivateli, ze jestli neco nahraval, pak nejspis nema povoleny mikrofon a dat mu link, jak povolit mikrofon.

Jinak, jestli tam pouzivas javascript, tak ten si umi zkontrolovat kompatibilitu treba tak, ze testnes existenci funkce. Treba pouzivas

// webcam.capture();
if (!webcam.capture) {alert('error');}
if (typeof webcam.capture == 'undefined') {alert('error');}
peter
PHP › Nefunkční tlačítka
21. 3. 2018   #220080
peter
Software › Firefox 59 spatne vykreslovani
21. 3. 2018   #220077

Schvalne jsem to zkusil nechat updatnout zas na 59 verzi. Opet to zacalo spatne vykreslovat :)

peter
Software › Firefox 59 spatne vykreslovani
21. 3. 2018   #220076

Stahl jsem si 58, preinstaloval a ted se tabulka vykresluje ok. Fakt, dekuji Firefox za problemy!

peter
Software › Firefox 59 spatne vykreslovani
21. 3. 2018   #220075

Vcera se mi provedli update win a FF a FF se cely rozbil. Spatne mi vykresluje text i pozadi. Ale jen na nekterych strankach a ne vsechno.
W10, 32 bit, FF 59.

Napr.
file:///C:/pp/js-zas3/zas3.htm
Mam tam program, ktery nacte z CSV data a pak je zobrazi jako tabulku. Tabulka je neviditelna. Text i pozadi je bile.
Kdyz se ale text oznaci, tak tam je. Jen neni videt.
Dela to, ikdyz smazu css.
Dela to, ikdyz kliknu Zobrazit - zakazat styly.
A v Edge je vse ok.
Zkousel jsem zakazat i hw akceleraci, ale nic se nestalo.
Zkousel jsem nekolik restartu win, FF. Take nic.
Zkousel jsem win updaty, jestli treba neco jeste neoinstaluje a take nic.
V pondeli vse fungovalo jeste spravne!

Ted premyslim, jestli nezkusim downgade FF na 58. Tim by se aspon overilo, jestli za to muzou ms updaty nebo FF.

peter
Python › Rozsekání bytearray na 12bit…
19. 3. 2018   #220024

 Prevod 3x 8-bit cisel na 2x 12-bit. Cele to das do cyklu s i+=3, j+=2

# hi<<8 + lo
r[j]   = p[i]<<4 + p[i+1]>>4;
r[j+1] = (p[i+1] & 0x0F)<<8 + p[i+2];
# i, i+1, i+2 => a, b
peter
Python › Print syntax error
19. 3. 2018   #220023

Mozna bych mohl jeste objasnit. Canvas je tabulka pixelu, souradnice x,y + barva rgb. Kreslit tam muzes jen pixely. Jsou funkce, treba create_text, ktera kresli pixely pomoci fontu a pismenek. A pak jine, ktere kresli ramecky a kolecka. Ale vzdycky muzes pouzit vlastni reseni a pixel po pixelu vykreslit treba cislo 0.

peter
Python › Print syntax error
19. 3. 2018   #220022

c.create_text(70,100, text='score:',font='Arial 30')
Odpoved uz znas. Do canvasu text uz pixelujes pres create_text. Print s objektem canvas nema nic spolecne. Nechapu, jak te mohlo napadnout ho pouzit?
Pro objekty je lepsi pouzivat aspon 3-5 pismen. c je spatne, canvas. (Nevim, ze by nekdo pouzival jinou zkratku, treba cnv.)

peter
PHP › PHP správné napojení 2 kodu…
19. 3. 2018   #220020

Musis postupovat logicky pri hledani chyb. Neco ti to tam vypisuje. Mas tam furu echo. Co kdybys mezi kazdy radek pridal echo 1; echo 2; ... A pak se mrkl ve www prohlizeci na zdrojovy kod? Zjistis, ze je to treba mezi echo 13; a echo 14;.

Osobne bych misto echo pouzil $str.= '...''; a echo az na konci. Protoze se $str muzes delat psi kusy jako echo '<pre>'.htmlspecialchars($str).'</pre>'; a vypsat si html kod.

No, a kdyz se podivas na obrazek, tak jednou je to s mezerami a podruhe se svislitky | a navic to konci >. Takze pujde o nejaky zapomenuty vypis bud s implode nebo vypis primo zdroje, pokud tam ukladas se svislitky. A nebo tam mas spatne uvozovky. treba nevis, ze se do html vypisuje pres htmlspacialchars. A ze v html se nektere uvozovky zapisuji jako &quote;.
1) $row=explode("|",$radky[$i]);
2) echo ' '.$radky[$i].'><label><br><hr><input type="checkbox" name="index[]" value="'.$i.'">Vyber pro smazání záznamu</label><br>'."";
 

peter
HTML / XHTML › Velikost stránky
7. 3. 2018   #219914

:) Tak ho tam dej a sprav styly, aby to fungovalo. Zjisti ti z css, co meni styly pro ten img. Mozna by stacilo pridat dalsi tridu/class k tomu divu. A nebo to nastav u toho obrazku. Pres tridu nebo natvrdo pres style="".

peter
HTML / XHTML › Velikost stránky
6. 3. 2018   #219886

Total commander ma moznost porovnat 2 soubory. To same dela ve win prikaz FC. Na linuxu diff, ktery podle mne dava hezci vystup. Lze najit diff.exe i pro win (balicek UnxUtils.zip). Pokud zalohujes, tak snadno najdes zmeny.

Firefox > Nastroje > Vyvoj webu > Editor stylu
Zkusil jsem dat do posledniho css na konec a ten hnedy pruh zmizel. Ale nevim, zda je to ok. Nekde mas neco spatne, protoze to pretece pres tag html. A to ikdyz jsem html tagu dal border. Zkus pak validator na html kod, css kod. 

div {border:1px solid #f00; padding:0; margin:0 !important; }

https://validator.w3.org/
https://jigsaw.w3.org/css-validator/

peter
PHP › Programátor s minútkou voľné…
6. 3. 2018   #219884

Najdi si dokumentaci k formatu, v jakem to poskytuje CS a v jakem ostatni hry. Najdi rozdil.

Kdyz je tam array, muzes zkusit tam pouzit  

$str = implode(';', $array); // ulozi do $str; nebo
var_dump($array); // vypise na obrazovku, abys videl, ktery prvek z array tam chces mit, potom
$str = $array[3] // pro ctvrty, cislovano od 0 nebo
$str = $array['nazev'] // pokud prvky nejsou cislovane, viz, co vypise $array

Dokumentace:


http://php.net/implode ;



Example #1 implode() example
<?php

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

// Empty string when using an empty array:
var_dump(implode('hello', array())); // string(0) ""

?>

http://php.net/manual/en/language.types.array.php 

// var_dump ti vypise pak neso takoveho. Pripadne pred to muzes dat 
echo '<pre>';
array(4) {
  ["foo"]=> // index pojmenovany nazvem 'foo'
  string(3) "bar"
  ["bar"]=>
  string(3) "foo"
  [100]=> // index pojmenovany cislem 100
  int(-100)
  [-100]=>
  int(100)
}

CS vraci binarni soubor, seznam polozek je asi tento
https://developer.valvesoftware.com/…rver_queries#…
Mozna je tam array, protoze tam bezi vice serveru.

peter
PHP › [NETTE] Jak získat proměnu z…
5. 3. 2018   #219878

Nebo mozna hledas tohle:

$form->addEmail('email', 'Email:') ->setDefaultValue('user@example.com');

$form->addText('name', 'Name:');
$form->addInteger('age', 'Age:');
$form->setDefaults([ 'name' => 'John', 'age' => '33' ]);

https://doc.nette.org/en/2.4/forms

peter
PHP › [NETTE] Jak získat proměnu z…
5. 3. 2018   #219877

Musis to napsat jako pro deti zakladni skoly, jinak je velmi obtizne pochopit tvuj dotaz?

protected function createComponentEditorConfiColorForm() {
  $form = new Form;
  $form->addHidden('img_color_id'); 
  $form->addHidden('product_image_group_id' /*, 
  $this->confiRepository->getColProductCategories($configure_id)*/);
  ...

Tady potrebujes pridat dalsi polozku do formulare?
$form->addHidden('img_color_id') - A z ceho ziskavas 'img_color_id'?
Tak na tom samem miste pridej do toho dalsi promennou. Ten kod jsi neuvedl. Asi nejaka globalni promenna neco jako $this->data->img_color_id = 123
 

peter
CSS › CSS Slideshow s přibližovací…
2. 3. 2018   #219862

A jo :) Ve FF, IE, Edge mi to funguje pres file:///C:/x/gal/gal.htm spravne. Abych nemusel cekat, zmensil jsem pocet obrazku na pic-3 a upravil cas figure

figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  /*animation*/
  
  animation: slideShow 12s linear infinite 0s;
  -o-animation: slideShow 12s linear infinite 0s;
  -moz-animation: slideShow 12s linear infinite 0s;
  -webkit-animation: slideShow 12s linear infinite 0s;
}
...
.pic-3 {
...
peter
MySQL › Zjištění špatných pokusů od…
2. 3. 2018   #219861

Kit ti rika, abys k uzivateli pridal 2 dalsi sloupecky INT a pocital to, jak potrebujes. Tu tabulku budes mit zvlast. Je to rychlejsi nez pokazde prohledavat celou tu tabulku.

A samozrejme to jde udelat i z te tabulky.
x = SELECT id WHERE uzivatel=Franta AND prihlaseni=true ORDER BY datum DESC LIMIT 1
SELECT COUNT(id) WHERE uzivatel=Franta AND prihlaseni=false AND datum>x
A asi by to slo napsat do jednoho selectu

peter
PHP › porovnani zmen dvou souboru,…
27. 2. 2018   #219834

Super. Trochu jsem se s tim pra, ale dava to v podstate to, co potrebuji
 

$command = "UnxUtils\\usr\\local\\wbin\\diff.exe -U0 $file1_name $file2_name";	// win diff (UnxUtils.zip) - seznam zmen smazano, pridano
$output  = array();
$status  = 0;
exec($command, $output, $status);
var_dump('command',$command);
var_dump('output',$output);
var_dump('status',$status);

array(8) {
  [0]=>
  string(62) "--- ./data_old/zas_20170526091704.csv	Mon Feb 26 15:12:22 2018"
  [1]=>
  string(43) "+++ ./data/zas.csv	Wed May 17 14:18:26 2017"
  [2]=>
  string(13) "@@ -12 +12 @@"
  [3]=>
  string(49) "-1;peter test zmena;Gia/b;;;;free;;;;501;;;;;;;;;"
  [4]=>
  string(60) "+1;sw120 - Cisco Catalyst 4506;Gia/b;;;;free;;;;501;;;;;;;;;"
  [5]=>
  string(13) "@@ -22 +22 @@"
  [6]=>
  string(78) "-1;sw120 - Cisco Catalyst 4506;Gic/d;;;;free;;;peter-test-zmena2;501;;;;;;;;;"
  [7]=>
  string(61) "+1;sw120 - Cisco Catalyst 4506;Gic/d;;;;free;;;;501;;;;;;;;;"
}
peter
PHP › porovnani zmen dvou souboru,…
27. 2. 2018   #219831

Hm, tak jsem nasel navod, jak to povolit, bash na win10. Ale pinda o riziku, tak takove veci v praci delat nebudu :)
https://www.howtogeek.com/…-windows-10/
Nastaveni > Win update zmenit na
Nastaveni > Pro vyvojare
A tam je treba povolit Vyvojarsky rezim. A pak mozna nejake dalsi kroky.

peter
PHP › Ako zobraziť údaje z databáz…
27. 2. 2018   #219830

Slo by to resit i javascriptem.  Jestli nepotrebujes nutne editaci databaze vice nez jednim uzivatelem. Nebo skryt odpovedi.

<div id=xxx></div>
<input type=button value=Next onclick="APP.func.next();">

<script>
var APP;
APP = {};
APP.func = {};

APP.db   = [
['h2so4','kyselina sirova'],
['hXXso4','kyselina jina']
];
APP.selected = null;

APP.func.next = function (m)
	{
	var m,n;
	if (APP.selected===null)
		{
		m = Math.floor(Math.random() * APP.db.length);
		APP.selected = m;
		n = 0;
		}
	else	{
		m = APP.selected;
		APP.selected = null;
		n = 1;
		}
//alert([m,n])
	document.getElementById('xxx').innerHTML = (n==0 ? "Otazka" : "Odpoved na otazku") + " " + (m+1) + ". " + APP.db[m][n];
	}

APP.func.next();
</script>
peter
PHP › porovnani zmen dvou souboru,…
27. 2. 2018   #219829

Potreboval bych porovnat obsah 2 csv souboru. Stacilo by mi vest tabulku, pocet zmen, smazanych radku, pridanych radku. V lepsim pripade i cisla radku z obou souboru. Tohle by mohl splnovat linux prikaz
"diff -u original novy"
Potreboval bych neco se stejnym vypisem i pro win10, kvuli testovani a ladeni. Nedavno byl clanek, ze win10 podporuje linuxovy bash. Ale nikde jsem nenasel postup, step-by-step, jak to pustit, pripadne nejaky program v tom.
Druha moznost mne napadla, pouzit cygwin. To uz jsem snad kdysi zkousel s uspechem :)
Treti moznost je php kod. Nechtelo se mi zatim nic vymyslet a nemam informace, jak ten diff vlastne funguje. Co jsem koukal googlem, tak jsem narazil i na 11k porovnavace kodu.

Ja v podstate potrebuji jen vytvorit 2 veci.
- Tabulku, kam napisi, kolik radku bylo smazano, pridano, pripadne zmeneno. Ale zmena muze byt resena smazat radek + pridat novy. Na tom nezalezi.
- A pak potrebuji, kdyz si nekdo klikne podrobnosti, aby mu to zobrazilo zmeny do jedne velke tabulky, kde budou treba cervene a zelene radky (smazane, pridane)

V podstate by to mohlo byt klidne i javascriptove reseni. Mam v js udelany export tabulky do csv.

peter
PHP › Složení stránek z PHP
22. 2. 2018   #219805

1. Php kod si zpracuj do promennych pred htm. Dole pak pouzijes jenom echo $promenna. Coz je pak prehlednejsi a tez rychlejsi na zobrazeni.

2. v kodu nemas povolene error_reporting, takze ti to asi nepise zadnou chybu. Tezko hadat.

3. pro jmeno stranky pouzivas velka mapa pismena, ale reg. vyraz ti je odboura
stranka=CasteOtazky
preg_match('/^[a-z0-9]+$/', $stranka)
= string zacina ^ znaky [a-z0-9], ktere se opakuji az do jeho konce $ v poctu 1 az nekonecno
Pokud je ve stringu cokoliv jineho nez a-z0-9 nastava podminka
else { echo('Neplatný parametr'); ...
Velke pismeno je neco jineho. Pokud chces i velka pismena, uved to ve vyctu znaku [a-zA-Z0-9]

peter
Python › Regulárne výrazy
20. 2. 2018   #219784

#9 gna - Dik za objasneni PY a reg. Njn, mel jsem to radeji zkusit googlovat, nejdriv.

peter
Python › Regulárne výrazy
19. 2. 2018   #219777

Jo, a mozna jsem spojil, co jsem spojit nemel. Mozna stacilo spojit jen to tvoje. Nejak mi to ted nemysli.
Kazdopadne, u spojovani bacha. Zalezi na poradi. Kdyz nenajde shodu s moznosti 1, tak zkusi moznost 2. Kdyz ale najde shodu s 1, tak druhou uz nedela. Takze se muzes snadno napalit treba pri hledani
slovo = praotec
vyraz = otec|praotec
Najde otec a tim konci. Spravne mel byt vyraz opacne
vyraz = praotec|otec

peter
Python › Regulárne výrazy
19. 2. 2018   #219776

 Opsano zhora:

re.compile(r''' ()(\w+)[\W]?\(P[^\w\)]*([^\)]*) #1
                |  [^P:]\s(\w+)[^\)\w] () ()    #2
                                   
            ''', re.X)

Tak tohle je dost trapne :) Reg. vyraz je string/predpis pro dalsi program. Kazdy znak toho vyrazu ma vyznam. Kazdy!!! I mezera nebo odrazkovani. Cili, napad dobry, ale realizace chybna. Musi to byt v jendom radku za sebou a mozna jeste ozavorkovane. Nevim, do pythonu nedelam. Kdyz vemu to od gna

>>> re.findall(r'(\w+)(\(P: (\w+)\))?', s)
[('clovek', '(P: mozog)', 'mozog'), ('clovek', '', '')]

>>> re.findall(r'(\w+)\(P: (\w+)\)|(\w+)', s)
[('clovek', 'mozog', ''), ('', '', 'clovek')]

>>> re.findall(r'(\w+)(\(P: (\w+)\))?|(\w+)\(P: (\w+)\)|(\w+)', s)
>>> re.findall(r'((\w+)(\(P: (\w+)\))?)|((\w+)\(P: (\w+)\)|(\w+))', s)

Pokud si to chces skladat, pak to musis spojovat jako stringy. V js treba
 

patt  = '(\w+)(\(P: (\w+)\))?'; // 'P: ' ale v js neexistuje
patt += '|(\w+)\(P: (\w+)\)|(\w+)';
reg = new RegExp(patt,'gi');
// a v PY to mozna nepujde, kdyz pred tim musis mit 'r',  r'string'
peter
PHP › PHP správné napojení 2 kodu…
14. 2. 2018   #219744

Pekny. Kdyz tam mas ten label, tak se to da zapsat jeste takto:

<input type="checkbox" name="index[]" value="'.$i.'"><label>Vyber pro smazání záznamu</label>
<label><input type="checkbox" name="index[]" value="'.$i.'">Vyber pro smazání záznamu</label>


Rozdil je v tom, ze na druhem radku se da kliknout na text a zaskrtne ti i ten checkbox. V prvnim pripade se musis trefovat do maleho ctverecku checkboxu.

A to meta tam mas uplne zbytecne, to patri nahoru do tagu head. Priklad struktury html stranky:

https://www.jakpsatweb.cz/html/html5-strukturni.html
https://www.tvorba-webu.cz/…truktura.php
http://owebu.org/…l_ukazky.php - tady si klikni na HTML5 /  '[+] Ukázka kódu html5'
http://www.jakdelatweby.cz/…truktura.php - tady je to taky celkem pekne, az na to neodsazovani! :)

peter
OS - Windows › Příkazový řádek --&gt; Pomoc…
14. 2. 2018   #219743

Pouziti uvozovek, viz Milan, jeden z prikladu nahore.

copy "%userprofile%\Desktop\Muj soubor"

peter
PHP › PHP správné napojení 2 kodu…
12. 2. 2018   #219727

Co kdyby ses vykaslal na php a nejdriv si ten formular udelal v html? A kdyz pak klikne odeslat a var_dump($_POST); zobrazi spravne data, tak ma smysl to propojovat na soubory.

peter
PHP › PHP správné napojení 2 kodu…
12. 2. 2018   #219726

Na radku 96 mas hadam toto:
for($i = 0; $i != count($radky); ++$i) {
'Undefined variable: radky' - obvykle znamena, ze $ radky neexistuje.

$radky ziskas asi o 10 radku niz (a nebo o dalsich asi 15 niz) pres
$radky = file('./../data.txt');

Obavam se, ze ti unikaji souvislosti. Zkus vzdycky mrknout na online dokumentaci k funkci a nejake priklady tam Napr php.net/f_open

function zpracujRadek($i,$row)
  {
  return '<tr><td>'.implode('</td><td>',explode('|',$row)).'</td></tr>';
  }

$str = '<table>';

$path = "./../data.txt"
$fp   = fopen($path, "r") or die("soubor nenalezen!");
$i    = 0;
while(!feof($fp))
  {
  $row  = fgets($myfile);
  $str .= zpracujRadek($i,$row);
  $i++;
  }

$str .= '</table>';
echo $str;

To $i potom potrebujes prave pro ten input, ktery pridas do funkce zpracujRadek, plus ty dalsi veci, co tam delas. Ty totiz potrebujes pro ten checkbox jednoznacny identifikator. Ty mas ted na strance, v html, treba 50 checkboxu, ktere se jmenuji id=checkBox nebo take name=''. A jak poznas, ktery znich je zaskrtnuty? Proto tam id nesmis mit. Name=checkBoxy[]. Value, tam prijde to $i. Kdyz to pak odesles pres post, tak to vyrobi php pole
$_POST['checkBoxy'] = array(3,7); // vypises si treba takto: var_dump($_POST['checkBoxy'])
A s tim pak muzes v php pracovat.


 

peter
CSS › Pomoc s pozicováním
12. 2. 2018   #219724

'pozicovat border' - jj, co to znamena?
Viz weroro, je mozne nastavit border top, left, right, bottom.
Kdyz obklopis skupinu tagu, tak tak je muzes cele orameckovat.
Kdyz das tagu (divu) uvnitr ramecek, a position, muzes ho pozicovat, kde chces. Mozna s pouzitim z-index.
Muzes text podtrhavat pres underline, coz by se taky dalo chapat jako ramecek.
Muzes kolem tagu vztycit margin a padding, coz taky v podstate meni polohu ramecku.

peter
CSS › Přizpůsobivá navigace
12. 2. 2018   #219723

To bude chtit mozna obrazky. css3 ma prizpusobovani obrazku i moznost zmenit css pro ruznou witdh obrazovky. Zas tolik to neovladam, google :)

peter
Python › ucenie pythonu
22. 1. 2018   #219452

Mirko196 - 'kto by mi pomhol' - Se zeptej, ne? Ale programovat za tebe ukoly spis nikdo nebude chtit.

peter
HTML / XHTML › obrázek v záhlaví
22. 1. 2018   #219451

Mimocchdem, kdyz das do google = image css example, tak to urcite najde priklad na obrazek pres css.

peter
HTML / XHTML › obrázek v záhlaví
22. 1. 2018   #219450
peter
C / C++ › Triangle validity test in C
2. 11. 2017   #218319

4) a+b>c, a+c>b, b+c>a, viz MilanL
Tam se jedna o sestrojitelnost trojuhelniku. Pokud to seradis, bod zadani 3, tak pokedu dve nejmensi strany jsou vetsi nez treti, je to trojuhelnik. Takze staci po serazeni a + b > c.
Kdyz to neplati, tak dostanes jen tohle /---------\ nebo =------=, cili, ty strany jsou tak kratke, ze se neprotnou.

Pole. google.com = c++ pole 

#include <iostream>
#include <string>
using namespace std;

int main(void) // nejaka zakladni funkce c++, pro c asi bez ni, ja delam spis s php :)
  {
  const int delkaPole = 10;
  int pole[delkaPole];
  for (int i = 0; i < delkaPole; i++) // naplneni
    pole[i] = i + 1;
  for (int i = 0; i < delkaPole; i++) // vypis hodnot
    cout << pole[i] << ' ';
  return 0;
  }
peter
C / C++ › Triangle validity test in C
2. 11. 2017   #218318

Jj, s tim bubble sortem mi to taky neni jasne. Pro 3 prvky je sort vzdy 2-3 tahy a tak to maji vsechny sorty.

// js~php zapis, neni to c++
function swap (&a,&b) {tmp = a; a = b; b = tmp;}if (a<=b) {  if (b<=c) { return; } else { if (a<=c) { swap(b,c); return; }; swap(b,c); swap(a,b); return; } }
else {  if (b>c) { swap(a,c); return; } else { if (a<c) {swap(a,b); swap(b,c); return;}; swap(a,b); return;} }

Ale bublani je mozna prehlednejsi, jenze tam mas konstantne 3 tahy, ify. 

// js~php zapis, neni to c++
function swap (&a,&b) {tmp = a; a = b; b = tmp;}
if (a>b) {swap(a,b);}
if (b>c) {swap(b,c);}
if (a>b) {swap(a,b);}
peter
PHP › Internetový obchod v nette
2. 11. 2017   #218317

'Jelikož v novém systému se již kategorie dělají trošku jinak to stejné produkty a obrázky'
Asi ocekavas jakysi zpusob telepatie, kde to budeme vedet, jak pracoval stary system a jak pracuje novy.
Ale mohl bys prijit treba s vlastni upravou a rici, co ti tam nefunguje, ikdyz si myslis, ze to mas podle kodu spravne.

peter
Offtopic › error4 - co zajima hackery
2. 11. 2017   #218315

 Jeste mam dalsi pokusy

/fpf/cz/utility/convert/index.php
/fpf/cz/wp-login.php
/checkout
/join_form

peter
Offtopic › error4 - co zajima hackery
2. 11. 2017   #218310

Davam sem vypis error 404 stranek, co tu hledaji hackeri. Snazil jsem se to vycistit, neznam ani, co vsechno tu mame nainstalovane, ale myslim si, ze vetsina tech erroru jsou realne pokusy o hackovani. Web nam nebezi ani na php, ani cgi ani wordpress a ani tam snad nemame fck :)
Zajimave je, ze treba /wp-login.php zkouseli asi 9,772 krat (asi za mesic) :)

Jestli se nekdo zabyvate zabezpecenim / zrychlenim webu, tak by mohlo byt zajimave spoustu tech stranek presmerovat. Aby zbytecne system nevyhledaval stranku, ktera tam stejne neni.

/.well-known/apple-app-site-association	23
/.well-known/assetlinks.json	15
/.well-known/dnt-policy.txt	5
//admin	4
//index.php	4
//login.action	5
//plus/download.php	3
//plus/mytag_js.php	3
//sloth_webmaster.php	2
//www.googleadservices.com/pagead/conversion.js	16
//www.googletagmanager.com/ns.html	26
/Abbrevsprl.php	2
/admin	3
/admin/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp	18
/admin/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx	17
/admin/FCKeditor/editor/filemanager/browser/default/connectors/php/connector.php	25
/admin/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php	20
/admin/fckeditor/editor/filemanager/connectors/asp/connector.asp	18
/admin/fckeditor/editor/filemanager/connectors/asp/upload.asp	19
/admin/fckeditor/editor/filemanager/connectors/aspx/connector.aspx	17
/admin/fckeditor/editor/filemanager/connectors/aspx/upload.aspx	18
/admin/FCKeditor/editor/filemanager/connectors/php/connector.php	22
/admin/fckeditor/editor/filemanager/connectors/php/connector.php	20
/admin/fckeditor/editor/filemanager/connectors/php/upload.php	21
/admin/FCKeditor/editor/filemanager/connectors/php/upload.php	20
/admin/fckeditor/editor/filemanager/upload/asp/upload.asp	18
/admin/fckeditor/editor/filemanager/upload/aspx/upload.aspx	19
/admin/FCKeditor/editor/filemanager/upload/php/upload.php	24
/admin/fckeditor/editor/filemanager/upload/php/upload.php	20
/admin/scripts/setup.php	6
/administrator/administrator.php	2
/administrator/components/com_xcloner-backupandrestore/index2.php	3
/administrator/index.php	19
/ads.txt	24
/album.cgi	5
/apple-app-site-association	25
/apple-touch-icon.png	1,172
/apple-touch-icon120x120.png	3
/apple-touch-icon-120x120.png	256
/apple-touch-icon-120x120-precomposed.png	258
/apple-touch-icon152x152.png	3
/apple-touch-icon-152x152.png	29
/apple-touch-icon-152x152-precomposed.png	29
/apple-touch-icon76x76.png	3
/apple-touch-icon-76x76.png	23
/apple-touch-icon-76x76-precomposed.png	23
/apple-touch-icon-precomposed.png	794
/apps/guestbook	5
/aska.cgi	5
/authenticating.php	2
/autodiscover/autodiscover.xml	16,226
/bbs.cgi	5
/blog/	9
/blog/robots.txt	10
/browserconfig.xml	153
/C/Users/hol70/AppData/Roaming/Microsoft/Word/%20vol.63,%20issue%201	2
/cache/cachee.php	2
/Carmen/en/results	22
/CGI/guestbook	5
/ckeditor/ckfinder/core/connector/asp/connector.asp	17
/ckeditor/ckfinder/core/connector/aspx/connector.aspx	17
/ckeditor/ckfinder/core/connector/php/connector.php	18
/components/com_mailto/views/sent/metadata.xml	19
/configurationbak.php.suspected	2
/core	3
/dbadmin/scripts/setup.php	6
/default.asp	5
/docs/sekce1.htm	2
/editor/editor/filemanager/connectors/aspx/connector.aspx	2
/en/sekce2.htm	4
/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp	20
/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx	20
/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php	23
/FCKeditor/editor/filemanager/browser/default/connectors/php/connector.php	21
/fckeditor/editor/filemanager/connectors/asp/connector.asp	20
/fckeditor/editor/filemanager/connectors/asp/upload.asp	20
/FCKeditor/editor/filemanager/connectors/aspx/connector.aspx	22
/fckeditor/editor/filemanager/connectors/aspx/connector.aspx	20
/fckeditor/editor/filemanager/connectors/aspx/upload.aspx	20
/FCKeditor/editor/filemanager/connectors/php/connector.php	21
/fckeditor/editor/filemanager/connectors/php/connector.php	20
/fckeditor/editor/filemanager/connectors/php/upload.php	21
/FCKeditor/editor/filemanager/connectors/php/upload.php	20
/fckeditor/editor/filemanager/upload/asp/upload.asp	20
/fckeditor/editor/filemanager/upload/aspx/upload.aspx	20
/fckeditor/editor/filemanager/upload/php/upload.php	21
/FCKeditor/editor/filemanager/upload/php/upload.php	20
/fpf/cz///www.googletagmanager.com/ns.html	5
/fpf/cz/'+img+'	47
/fpf/cz/portal	3
/fpf/cz/sekce.php	8
/fpf/cz/wp-login.php	35
/fpf/ustavy/ustav-informatiky/soubory/sylaby.doc	2
/fpf/wp-login.php	7
/ftt2/signup.php	2
/fvp/cz/%2Ffvp%2Ffavicon.ico	5
/fvp/cz///www.googletagmanager.com/ns.html	7
/fvp/cz/apple-touch-icon.png	6
/fvp/cz/apple-touch-icon-precomposed.png	4
/fvp/cz/uo/projekty/inovace/materialy/docs/sbornik_prispevku_konference_uo_zari2013-1'	3
/fvp/wp-login.php	6
/g_book.cgi	5
/gaestebuch.php	5
/gastenboek.php	5
/gb.php	5
/guestbook	5
/guestbook.html	5
/guestbook.php	10
/Guestbook.php	5
/help.txt	47
/home.php	5
/htaccess.txt	18
/https://www.slu.cz/	13
/checkout	15
/images/1ndex.php	2
/images/404.php	2
/images/google-assist.php	2
/images/powered_by.png	18
/images/stories/0day.php	3
/images/xxx.php	2
/includes/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp	19
/includes/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx	18
/includes/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php	23
/includes/fckeditor/editor/filemanager/connectors/asp/connector.asp	19
/includes/fckeditor/editor/filemanager/connectors/asp/upload.asp	20
/includes/fckeditor/editor/filemanager/connectors/aspx/connector.aspx	19
/includes/fckeditor/editor/filemanager/connectors/aspx/upload.aspx	20
/includes/fckeditor/editor/filemanager/connectors/php/connector.php	19
/includes/FCKeditor/editor/filemanager/connectors/php/connector.php	19
/includes/FCKeditor/editor/filemanager/connectors/php/upload.php	20
/includes/fckeditor/editor/filemanager/connectors/php/upload.php	20
/includes/fckeditor/editor/filemanager/upload/asp/upload.asp	20
/includes/fckeditor/editor/filemanager/upload/aspx/upload.aspx	20
/includes/FCKeditor/editor/filemanager/upload/php/upload.php	20
/includes/fckeditor/editor/filemanager/upload/php/upload.php	19
/includes/u2p.php	3
/index.php	29
/index.php/component/users/	7
/jax_guestbook.php	5
/join_form	163
/kcfinder/browse.php	17
/key/ASWD56425CSA	4
/kontakt/	2
/license.txt	142
/light.cgi	5
/log.php	2
/maill.php	2
/market//js/mage/cookies.js	2
/math/cz/.well-known/autoconfig/mail/config-v1.1.xml	2
/math/cz/Index/vybrizeni.php	21
/math/cz/index1.php	21
/math/cz/modules/mod_simplefileuploadv1.3/elements/udd.php	
/math/cz/RealAnalysis/	47
/media/tmp.php	2
/modules.php	5
/myadmin/scripts/setup.php	6
/mysql/scripts/setup.php	6
/mysqladmin/scripts/setup.php	6
/oblast	15
/oblast/1	17
/oblast/10	16
/oblast/15	16
/oblast/2	17
/oblast/3	18
/oblast/4	17
/oblast/5	17
/oblast/6	17
/oblast/7	16
/oblast/8	16
/oblast/9	17
/oblast/Karvin%C3%A1	16
/oblast/Opava	16
/page/dokumenty	16
/page/kontakty	16
/phpMyAdmin/scripts/setup.php	6
/phpmyadmin/scripts/setup.php	6
/plus/mytag_js.php	2
/pma/scripts/setup.php	6
/PMA/scripts/setup.php	6
/portal	3
/readme.htm	47
/readme.html	50
/readme.txt	47
/scarbook.php	5
/search_form	94
/seo-joy.cgi	5
/sign/in	16
/sign/register	16
/sitemap.xml	24
/slu/cz/czv/oblast/1	2
/slu/cz/czv/oblast/4	2
/sql/scripts/setup.php	6
/sqlbak.php	2
/style/contenttypes-sprite.png	27
/su/fvp/en/useful-information/docs/converter-abiword-19724.html_files/0.png	5
/tmp.php	4
/wordpress/	9
/wp/	9
/wp-admin/css/colors-classic.css	47
/wp-admin/images/wp-logo-2x.png	47
/wp-admin/js/media-upload.dev.js	47
/wp-content/plugins/akismet/akismet.js	47
/wp-content/plugins/myshe.php	2
/wp-content/plugins/wp-footers.php	2
/wp-content/themes/classic/rtl.css	47
/wp-content/themes/twentyeleven/readme.txt	47
/wp-content/themes/twentyten/images/wordpress.png	47
/wp-content/themes/twentyten/style.css	47
/wp-includes/css/buttons.css	47
/wp-includes/js/scriptaculous/wp-scriptaculous.js	47
/wp-includes/js/tinymce/langs/wp-langs-en.js	47
/wp-includes/js/tinymce/wp-tinymce.js	47
/wp-login.php	9,772
/wp-main.php	2
/wsdl.php	2
/www.googletagmanager.com/ns.html	2
/xmlrpc.php	50
/xmlsrpc.php	2
/yybbs.cgi	5
peter
Java › Java - Cykli
2. 11. 2017   #218308

   

klavesa = 0;
while (klavesa!=27 || klavesa!=13) // 27 = esc, 13 = enter
{
  klavesa = ctiklavesu();
  necoProvadej();
}

---

klavesa = 0;
while (klavesa!=27) // 27 = esc, 13 = enter
{
  klavesa = ctiklavesu();
  if (klavesa==13) {provedejNeco2(); break;} // zastav klavesou 13, ale pred ukoncenim neco udelej
  necoProvadej();
}
peter
Java › Java - Cykli
2. 11. 2017   #218307

KIIV
(např. při pocet = 3 se vypíše 1 2 , 22 a 32 ).
(např. při pocet = 3 se vypíše 1^2 , 2^2 a 3^2 ).
Pochopil jsi to spravne.

Marty
Ucitel bude mit jiste pochopeni, kdyz se omluvis a odevzdas mu to pozdeji. Pripadne, ze ti da o stupen horsi znamku. Nebo, ze se nechas z toho prezkouset. 

int i_start = 0 // zacni 0
int i_end = 3 // opakuj, dokud je i < end; i<3
int i_inc = 1 // na konci zvys i o inc, 1 / i+=i_inc nebo i++
for (int i=start ; i < end ; i+=i_inc)
{
        System.out.println("Knock");
}
System.out.println("Penny!");

---

int i_start = 0 // zacni 0
int i_end = 3 // opakuj, dokud je i < end; i<3
int i_inc = 1 // na konci zvys i o inc, 1 / i+=i_inc nebo i++
int i = i_start;
while (i < i_end) // podminka
{
        System.out.print(i + " ");
        i += i_inc;
}

--- nekonecny cyklus ---

for (int i=0 ; i < 99 ; )
{
        System.out.println("Knock");
}
for ( ; true ; ) // for ( ; ; )
{
        System.out.println("Knock");
}
while (true)
{
        System.out.print(i + " ");
}

--- preruseni cyklu / break ---
i = 0;
while (true)
{
        System.out.print(i + " ");
  if (i>=10) {break;} // preruseni, kdyz je i=10 nebo vetsi; podobne pro for
  i++;
}

int i_start = 0 // zacni 0
int i_end = 3 // opakuj, dokud je i < end; i<3
int i_inc = 1 // na konci zvys i o inc, 1 / i+=i_inc nebo i++
i = i_start;
while (true)
{
        System.out.print(i + " ");
  if (i>=i_end) {break;} // preruseni, kdyz je i=10 nebo vetsi
  i += i_inc;
}


Co to vlastne cyklus je? Provadi opakovani nejakeho programu, treba:

zaklepej(); zaklepej(); zaklepej(); ... potrebujes to udelat 50x
for (i=0;i<50;i++) {zaklepej();}

Nekonecne cykly se pouzivaji treba pro poslouchani portu, kdy cekas na nejaky signal, abys spustil nejakou akci. Napriklad cekas, az uzivatel posle zpravu na chat, abys ji rozeslal i vsem ostatnim v mistnosti. Takze mas cyklus/program, ktery bezi donekonecna a ceka, az prijde zprava.
Muzes pouzit vic cyklu v sobe, treba, kdyz skenujes obrazek pixel po pixelu, souradnice x,y, tak mas 2 cykly s i, j.
Muzes podminky resit uplne jinak, nemusis pouzivat i++. 

klavesa = 0;
while (klavesa!=27) // 27 = esc
{
  klavesa = ctiklavesu();
  necoProvadej();
}
// opakuje, dokud nezmacknes Esc klavesu na lavesnici
peter
PHP › Odkazy v MVC
2. 11. 2017   #218306

Ted, kdyz to ctu znova, napada mne, jestli neresis treba toto:

kliknem na matematika tak dostanem url adresu localhost/mvc/matematika
kliknem na rovnice tak dostanem url adresu localhost/mvc/matematika/rovnice

- v normalnim menu by se to resilo pomoci slozek a index.html / htm / php (url = matematika/rovnice/ == matematika/rovnice/index.php)
- v cms je treba localhost/index.php?page=123, tam je v odkazu url = localhost/mvc/matematika/rovnice a .htaccess mod rewrite to nejspis prepisuje na localhost/index.php?search=matematika/rovnice a search pak vraci index.php?page=123.
Nevyhoda je, ze to treba fakt dobre nastavit, vyloucit z rewritovani slozky s js, css, img a pod. Pak by ses divil, proc se ti nezobrazuje obrazek a ono to je treba tim, ze ti z localhost/img/paja.jpg udela localhost/index.php?search=img/paja.jpg a tu slozku v sql databazi nemas, treba. Nebo si to pohlidat v php a vyloucit ty slozky, to pak staci jednodussi mod rewrite.
cili google = index mod rewrite htaccess

'Skúšal som to už nejak jak som si myslel žeby to mohlo byť, ale nezobrazovalo mi v header obrázky...neviem prečo.'
Kdyz chces, aby jsme ti v kodu nasli chybu, tak ten kod musime videt. Ty mas ted nejaky kod, ktery funguje a pak mas druhy kod, svou upravu, ktera zlobi. Takze je potrebujeme porovnat. Idealne, pokud je to nejaky ne-html kod (php), tak k tomu prilozit i pro oba pripady html vystup. Pises, ze se ti nezobrazuji obrazky, tak mozna by se hodila i cesta k obrazkum, podivat se, jak vypada realna cesta, a jak je to v html v prohlizeci.
Druha moznost je, napsat ti rovnou reseni, ale... MVC tu asi nikdo nepouziva, nezna, museli bychom to nastudovat a nenabizis odmenu.

Co se tyce nahrani slozky, existuji ruzne uschovky, kde je mozne nahrat treba zip soubor. Nepovazuji zipy za bezpecne, muze se tam zkryvat vir, ale asi neni jina moznost.

peter
PHP › Internetový obchod v nette
31. 10. 2017   #218267

Nebo mas s necim problem, s cim, co jsi pro reseni udelal a ten nefunkcni kod a funkcni kod, zdrojovy xml predtim a nyni mas?
Ten kod mi prijde jako trosku smes. Ja bych si napsal zvlast cast, ktera to parsuje a zvlast cast, ktera to dava do db.

Se mi to jevi zatim tak, ze se nam pokousis zadat praci. Takze inzerat, nabidka prace? Odmena?

peter
PHP › Odkazy v MVC
31. 10. 2017   #218262

Posli odkaz na jejich funkcni kod, tvuj funkcni/nefunkcni kod.
Stranka s navodem je super, ale ja za tebe nebudu studovat tutorialy. Porovnam proste rozdil v kodu. Pokud nemas funkcni kod, tak je zbytecne tam doplnovat nejaky odkaz.

peter
C / C++ › Výpis nejdelších slov z pole
30. 10. 2017   #218255

Jestli spravne chapu ten puvodni kod, tak hleda nejdelsi slovo. Nic vic.
Prvni cast kodu hleda slovo, znaky <> ' ' (ruzne od mezery).
Druha cas potom porovnava delku slova s max velikosti.
Druha cast by mela slova ukladat do pole. Muzes si tam poznacit jako 'delku nejkratsiho slova'. Kdyz tu delku prekroci tve slovo, tak spustit kod, ktery slovo prida do pole a soucasne odstrani nejmensi slovo z pole, opravi promennou 'delku nejkratsiho slova'.

Nebo muzes proste slova ukladat do pole, pole seradit podle delky, nejdelsi nahore. A vybrat prvnich 10 slov.

peter
PHP › Odkazy v MVC
30. 10. 2017   #218245

To je 25 min? Ehm, sorry :) Posli radeji odkazy na kod.

peter
MS SQL › Načtení hodnot filtru SQL z…
24. 7. 2017   #217163

Tak, ono by se to dalo preformatovat do sql tvaru a pak vlozit jako kus sql kodu. Kdyz by se pominula nebezpecnost takoveho jednani :)

peter
JavaScript, AJAX, jQuery › progresbar xml
24. 7. 2017   #217162

Run delej jako float cislo na procenta (0.0000 az 1.0000). Nebo integer, ale pak tam musis mit maximalni hodnotu, abys mohl pocitat.
Ze se neco zastavilo se da dost tezko vycist. Server bud data posila nebo ne. A kdyz je posila, muze posilat stejna cisla a presto se program nezastavil. Tak je treba zvolit takovy system pocitani, aby se cisla menila.

V JS bych pouzil casove razitko. To je dost presne integer cislo. A bud server vrati nove casove razitko nebo je neco spatne. Ale, jak uz jsem psal, spatne muze byt cokoliv a presto server dal pracuje.
Treba spousta lidi je spatna v premysleni, libi se jim zive vyhledavani a klidne nechaji sql hledat vsechna slova zacinajici jednim pismenem. Nebo proste je jinak spatne sql dotaz. Sveho casu podobny problem mela ceska posta, ze to hledalo v urcitem nastaveni dlouho. Az tak, ze se server musel restartovat. Netusim, jak to meli a kde presne :)
Tady v praci jsem zazil podobnou vec, vyhledavani vsech knih, kdyz das treba seznam 10 jmen autoru. Tak problem sql dotaz, uz pri 3 lidech to bylo kolem 10s a kaskadne to narustalo. Jsem to prozkoumal, prepsal dotaz a ted 20 lidi neni problem za par ms. Je jedno jestli AND (vsichni) nebo OR podminka (aspon 1). Chci rici, ze ten program treba 5 minut pracoval, ale fungoval. Server byl nastaveny tak, ze procesy omezoval, takze by ti dal v odpovedi nove casove razitko. Ale ty bys vysledek stale jeste nemel.

peter
PHP › PHP automatické přidávání ht…
24. 7. 2017   #217156

Ja prave id do css nerad cpu. Proste, idkyz ma objekt id, tak mu pridelim class, kdyz chci styly. Id mam vyhradne pro js. V js se snazim zas vyhybat classum jako objekty. Vdycky mam jako prvni nejaky id objekt az pak je pod nim neco s class. Treba #list_clanky, .clanek, .clanek_nadpis

peter
MS SQL › Načtení hodnot filtru SQL z…
24. 7. 2017   #217155

V excelu, data z listu 1 je treba =List1!A1:A30. Jak se to pouziva do mssql netusim. Bys musel ukazat ty priklady a priklad treba 2-3 jmen, zdrojovy text, ktery pres tu funkci posilas.

Kdybych to delal v PHP, tak si excelovy soubor ulozim jako csv a pak to zpracuji jako csv a pridam do textu sql prikazu.

peter
HTML / XHTML › Jak vytvořit stránku kde lid…
24. 7. 2017   #217154

Si projdi na obou systemech, jake maji inzertni pluginy a ktery se ti bude libit vic, ne? Na inzeraty by mel byt spis spesl system.
Ale v podstate by postacili komentare z wordpress. Jenze to pak nema ty kategorie a razeni podle oblast, mesta, statu, typu inzeratu koupim, prodam, ... To by prave mohl resit nejaky plugin.

peter
PHP › PHP automatické přidávání ht…
24. 7. 2017   #217152

Jj, id je pro unikatni prvek, obvykle pro js. Obcas tam pridavam do nazvu js, abych vedel, ze se pouziva v js. Class pouzivam jen pro css. Vyjimecne v js pouzivam vybirani i podle class. Nekdy se to hodi. Ale snazim se, aby nad tim byl prvek s id.

Urcite, kdyz funkci pouzivas opakovane, treba pro ten autorefresh, tak je dobre ji dat zvlast do funkce, viz Doomista, treba getData. Pripadne ji pojmenovat vic inteligentne nebo uzavrit do objektu.
 

chat = {};
chat.dataFromUrl = function (url) {...}
chat.refresh = function() {chat.dataFromUrl('text.php'); chat.dataFromUrl('lide.php'); chat.dataFromUrl('mistnosti.php');}
chat.refresh_time = 10000;
var auto_refresh = setInterval( chat.refresh, chat.refresh_time);

To auto_refresh je tam dulezite pro clearInterval, kdybys to chtel prerusit. Coz je treba v pripade, ze chces zmenit refresh time nebo u chatovani odesles zpravu (tehdy potrebujes, aby odpocet zacal od zacatku).
 

peter
JavaScript, AJAX, jQuery › Chat- Express, NodeJS, Mongo…
28. 6. 2017   #216825

Schvalujeme, proved to :)

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032018 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý