Új hozzászólás Aktív témák
-
sztanozs
veterán
ha egyszer jól van kijelezve, és használva is.
Pont az a lényeg, hogy nincs jól (szabványosan) használva. Azért jelenik csak meg "helyesen", mert a böngészőmotorok direkt úgy vannak megírva, hogy a lehető legfospumpább módon összehányt html forrást is "helyesen" meg tudják jeleníteni. Ezt használják ki ezek az exploitok, és ezért kell ilyen extra lépéseket berakni az ellenőrzésekbe.
nem voltam elég gyors a válasszal...
Sőt, ae
is helyes[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Igen, elírtam a regex-et több helyen...
Először a parse-olható entity-ket el kell távolítani, majd javítani, majd még egyszer eltávolítani:<?php
$link='jAvAsCript';
echo $link . "\r\n";
// parse proper entities
$link = html_entity_decode($link, ENT_QUOTES);
echo $link . "\r\n";
$pattern = '/(&#(?:X[0-9a-f]+|0[0-7]+|[1-9]\d*)(?!;))/i';
$replacement = '${1};';
// add missing semicolon
$link = preg_replace($pattern, $replacement, $link);
echo $link . "\r\n";
// parse fixed entities
$link = html_entity_decode($link, ENT_QUOTES);
echo $link . "\r\n";
?>[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Igen igazából csak az számít, hova rakja a pontosvesszőt, a tiéd rossz helyre fogja, ha pl egy ilyen jön:
ϻblabla -> ϻblabla
ebből a böngésző ezt fogja értelmezni: A9;blabla
viszont a _decode nem fogja elkapni és te ezt látod: ϻblabla
vs
ϻblabla -> e9blabla
ebből a böngésző ezt fogja értelmezni: A9blabla[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Elméletileg a #&0 az oct kódolás lenne, de ezek szerint nem jól van implementálva abban a böngészőben, amit használsz. akkor csak simán kel kell venni az oct részt és hagyni, hogy decimálisba kódolja át és a kódodat használni. Így is - úgy is, de megszünteted az injection lehetőségét...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Úgy, hogy:
- ha nem http[ s ]://-rel kezdődik a link, és
- ha tartalmaz nem whitelist-elt karaktert ' "
akkor simán eldobod a linket.[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
De itt a tökéletes regex, amiben jó a negative-backtest is:
\(&#(?:X[0-9a-f]+|\d*)(?![^&]*;))\i
itt a kód:
http://sandbox.onlinephpfunctions.com/code/ac08ec9ed305bfa1d881ddbaec58f8b58ab35cc8[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Az 'A' php fájlrendszer szinten éri el a "dokumentum.txt"-t. Ha a 'B' webszerver is eléri fájlrendszer-szinten a "dokumentum.txt"-t akkor módosítani is tudja. Ha nem, akkor nem.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
-
sztanozs
veterán
válasz pmonitor #20856 üzenetére
Szerencsére már nem a php2/php3 korában vagyunk, hogy ezt meg lehetne csinálni.
Amúgy minek raksz ki olyan contact formot ami konkrétan semmt nem csinál (illetve nem tud csinálni)?JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz #45252096 #20878 üzenetére
Nem kell ehhez job szerintem, csak az adott mezőt nem kell tárolni, hanem kalkulálni - pontosabban az elkezdődött az az, ha a lekérdezés dátuma és ideje a kezdés dátuma és ideje után van. A befejeződött-et lehet kézzel állítani, mert adott meccseknél nem lehet tudni, mennyi a hosszabbítás, illetve adott esetben idő előtt is befejeződhet a meccs.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
20e nem fér bele 90 mp-be? Ott valami nagyon el van b@szva. Ha adatbázisról van szó, akkor 20M-nak is bele kellene férjen ennyi időbe, hacsak nem rakéta-röppályákat számítasz a naprendszerben.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Ezt simán meg lehet csinálni SQL alapon mindenféle plusz kalkuláció nélkül is. Kellenek a következők:
- KATEGORIA tábla (ID, MEGNEVEZES)
- KULCSSZO tábla (ID, KULCS)
- M:N kötőtábla a Kulcsok és Kategóriák között (KUKA - KAT_ID, KULCS_ID)
- REKORDOK tábla (ID, ... mindenféle mezők ... )
- M:N kötőtábla a rekordok és kulcsok között (REKU - REKORD_ID, KULCS_ID)
Ezekkel simán SQL alapon lehet kimutatni a kategóriákat, mindenféle külön szenvedés nélkül:SELECT
R.*,
GROUP_CONCAT(KAT.MEGNEVEZES)
FROM REKORDOK AS R
JOIN REKU ON R.ID=REKU.REKORD_ID
JOIN KUKA ON REKU.KULCS_ID = KUKA.KULCS_ID
JOIN KATEGORIA AS KAT ON KUKA.KAT_ID = KAT.IDKb fejből, de lehet, hogy kell egy nested select:
SELECT
R.*
RK.KATEGORIAK
FROM REKORDOK JOIN
(SELECT
R.ID,
GROUP_CONCAT(KAT.MEGNEVEZES) AS KATEGORIAK
FROM REKORDOK AS R
JOIN REKU ON R.ID=REKU.REKORD_ID
JOIN KUKA ON REKU.KULCS_ID = KUKA.KULCS_ID
JOIN KATEGORIA AS KAT ON KUKA.KAT_ID = KAT.ID
GROUP BY R.ID) AS RKAT ON R.ID = RKAT.ID[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Ezért is kell a kulcsszavakat és a kategóriákat táblázatban tárolni.
Ha táblázatban tárolod indexelve, akkor nem full table search lesz (azaz nem három egymásba ágyazott foreach), hanem Hash/B-Tree search, ami sokkal jobb.
De még két hashset/dictionary is jóval gyorsabb lenne, mint két lista.
https://www.php.net/manual/en/book.ds.php
http://docs.php.net/manual/en/class.splobjectstorage.phpJOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Amúgy hogy kerülnek bele a kulcsszavak a tömbbe, és miért nem táblában vannak tárolva dinamikusan?
Amúgy ha érdekel python implementáció, azt is tudok írni, de a php elég szegényes az ilyen jellegű feldolgozás terén.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Különbség a full list scan (foreach) és hashset között:
>>> # 456.976 elem listában
>>> A = ['AAAA', ..., 'ZZZZ']
>>> # 456.976 elem hasset-ben
>>> B = set('AAAA', ..., 'ZZZZ')
>>> # 2000 elem egy listában ami random négy karakter (~85% találati valószínűséggel)
>>> C = ['@ABC', ..., 'XYZ@']
>>> # keresés eredmények másodpercben
>>> timeit.timeit("[c in A for c in C]",number=1,globals=globals())
10.154
>>> timeit.timeit("[c in B for c in B]",number=1,globals=globals())
0.000786
Azaz míg 2000 elem megkeresése végigiterálva a félmilliós listában 10 másodpercig tart, addig ugyanannyi idő alatt 20.000.000 (húszmillió) elemet le lehet ellenőrizni egy félmilliós adattartalmú hashset-ben.[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
-
sztanozs
veterán
válasz sztanozs #20895 üzenetére
és egy némileg lassabb implementáció PHP-ben:
<?php
$A = [];
$B = [];
foreach (range('A', 'Z') as $a){
foreach (range('A', 'Z') as $b){
foreach (range('A', 'Z') as $c){
$A[] = $a.$b.$c;
$B[$a.$b.$c] = 0;
}
}
}
echo count($A).'<BR>';
echo count($B).'<BR>';
$time_start = microtime(true);
for($i=0; $i<10000; $i++){
in_array('ZZZ', $A);
}
$time_end = microtime(true);
$execution_time = ($time_end - $time_start);
echo $execution_time.'<BR>';
$time_start = microtime(true);
for($i=0; $i<10000; $i++){
key_exists('ZZZ', $B);
}
$time_end = microtime(true);
$execution_time = ($time_end - $time_start);
echo $execution_time.'<BR>';
?>A különbség 1 sec vs 0.5 milisec.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Igen, az in_array sinám végigiterál, amíg meg nem találja, míg a másik változat (key_exists) esetében azt a tulajdonságot abuzáljuk, hogy a kulcsok hash-elve vannak tárolva és sokkal gyorsabban kereshetők, mint maga az adat.
Mivel nincs rendes Set megoldás (illetve a DS/Set nincs alapból telepítve), így a tömb asszociatív kulcs keresés megoldását lehet abuzálni, hogy sebességben sikert érjünk el.
Ezzel a módszerrel tárolhajuk az összefüggéseket két irányból is:<?php
$kategoriak = array(
'szorakozas' => ['elozetes', 'film', 'sorozat', 'hbo', 'mozi'],
'kultura' => ['mozi', 'szinhaz', 'múzeum', 'koncert', 'film'],
'masszázs' => ['eufória']
);
$kulcsok = [];
foreach($kategoriak as $kat => $v) {
foreach($v as $kulcs) {
if (key_exists($kulcs, $kulcsok)) {
$kulcsok[$kulcs][] = $kat;
} else {
$kulcsok[$kulcs] = array($kat);
}
}
}
var_dump($kulcsok);[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Igazából nem tudom mi lehet nálad a gond. A két megoldás között nagyságrendi különbségnek kellene legyen. Lesz a kódban valami más is, ami lassítja a futtatást. Ha gondolod PM-ben esetleg tudok többet segíteni...
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz laracroft #20917 üzenetére
Mind a kettőre kell egy JS szkript ami ellenőrzi, hogy melyik mezők voltak kitöltve és egy hidden mezőbe meg beállítja elküldés előtt, hogy draft vagy végleges kitöltés volt.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Gondolom az eredeti fájlt töltöd vissza és nem állítos be azokat az opciókat, ami alapján az első php a másodikat beinclude-olná, a harmadik meghívásra.
Szvsz egyébként ez nem egy szép módszer, inkább XHR-rel kellene csinálni és az oldal részét dinamikusan változtatni (pl egy DIV tartalmát).[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Amikor kattintasz, akkor a kliens feltölti az adatokat és lekéri a teljes oldalt újra. Ezek az események nem a szerveren történnek, hanem a kliensen, amit a szerver dolgoz fel.
Vagy én nem látok valamit a kódban, amit kéne.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
-
sztanozs
veterán
Minden egyes kattintás külön lekérés az oldalra külön adatokkal. A HTTP alapból állapotmentes, tehát a szerver nem tudja, hogy ez hányadik lekérés, és hogy az oldalnak (vagy a szervernek) mi volt az előző állapota. Alapból még azt sem tuja, hogy te ugyanaz a kliens volt, mint akit az előző kéréssel kiszolgált. Ezeket neked minden alkalommal a szerver tudtára kell adni, pl:
- a korábbi állapotot hidden mezőbe belerakva, amit mindenden lekérésnél ellenőrzöl
- session azonosítót átadva (cookie vagy hidden field), és a szerver kliensenként tárolja az előző álapotot és az alapján szolgálja ki a következőt[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
json_encode($data,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
a sortöréssel meg ne foglalkozz, az adattartalom szempontjából lényegtelen.[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Kicsit zavaros nekem hogy miért akarsz kliens oldalon php-t használni…
vagy egyáltalán nem értem mit csinálsz.[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
ÁÁÁ, a forráskódot senki nem fogja látni, az a szerver oldalon "átalakul" HTML-lé és a kliens csak azt látja, amit a PHP létrehoz. Szerintem tényleg olvass utána a kliens-szerver architektúrának és session kezelésnek.
Ezek a dologok egyáltalán nem úgy történnek, ahogy te azt elképzeled (a válaszod alapján).Egyszerűen a folyamat:
1) Kliens lekéri az oldalt (URL, COOKIE-k, GET paraméterek, POST tartalom)
2) szerverhez megérkezik a kérés, az URL alapján meghívja a megfelelő oldalt (PHP kód a te esetedben)
3) a COOKIE, GET és POST tartalom vezérli a PHP kódot a teljes lefutásig, miközben legyártja a kliensnek visszaadandó tartalmat (HTTP HEADER + HTML + beágyazott JS + beágyazott CSS - vagy egyéb tartalom, pl bináris fájl)
4) kliens feldolgozza a választ, megjeleníti a tartalmat és futtatja a JS kódokat
5) felhasználói tevékenységre vagy JS akciókra újabb oldallekérések -> 1) pont[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz sztanozs #21021 üzenetére
És ami itt nem egyértelmúen lászik: a hármas pontban a PHP kód futása minden lekérésben külön esemény, a szerver minden lekérésre újra, előről futtatja a kódot, ezért van szükség session kezelére, hogy tudjad, hogy ki és miért hívta meg újra ugyanazt a kódot.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Pl ha a JS nem egy XHR-t indít, hanem egy form submit-ot, az olyan mintha a felhasználó megnyomta volna a submit gombot, ami a formhoz van kötve.
Ha a form action attribútuma egy URL, akkor ez oldalbetöltést jelent - ami így újratölti az oldalt.[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz Winner_hun #21043 üzenetére
Igen, kliens oldali javascripttel:
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboardKonkrét megvalósítások:
https://stackoverflow.com/a/30810322/8154543[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz lanszelot #21056 üzenetére
Gyorsan kipróbáltam, ez adni fogja a megadott struktúrát:
$array = array();
$array[] = ["google" => ['name' => "Google", 'link' => "www.google.com"]];
$array[] = ["mail" => ['name' => "Mail", 'link' => "www.mail.com"]];
for ($x = 0; $x <= 10; $x++) {
$array[] = [ "link$x" => ['name' => "Site$x", 'link' => "www.site$x.com"]];
}
var_dump($array);JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz lanszelot #21058 üzenetére
Ez csak egy példa kód, ráadásul amit becsatoltál példa-json-t az nem is felel meg annak, amit szeretnél (nem azonosak az asszociatív nevek)...
Nem tudom, hogy és honnan állítódnak elő ezek a változók, szóval csak összedobtam pár sort, hogy ugyanolyan kimenetű JSON-t kap, mint ami a példában volt.
---
De bocs, én néztem el, neked ez kéne:{
"google" => {'kep' => "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png", 'link' => "www.google.com"},
"LapHu" => {'kep' => "https://lap.hu/images/startlap-logo.png", 'link' => "www.lap.hu"}
}Akkor itt a módosított kód:
$array = array();
$array["google"] = ['kep' => "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png", 'link' => "www.google.com"];
$array["mail"] = ['kep' => "https://lap.hu/images/startlap-logo.png", 'link' => "www.lap.hu"];
for ($x = 0; $x <= 10; $x++) {
$array["oldal$x"] = ['kep' => "www.oldal.hu/kep/linkje/$x.png", 'link' => "www.oldal.hu"];
}
var_dump($array);Mivel a külső tömb is asszociatív, így ha ugyanazzal a névvel akarsz felvinni egy új oldalt akkor a régit felülírja - és 13 helyett csak három tömbelem lesz:
$array = array();
$array["google"] = ['kep' => "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png", 'link' => "www.google.com"];
$array["mail"] = ['kep' => "https://lap.hu/images/startlap-logo.png", 'link' => "www.lap.hu"];
for ($x = 0; $x <= 10; $x++) {
$array["oldal"] = ['kep' => "www.oldal.hu/kep/linkje/$x.png", 'link' => "www.oldal.hu"];
}
var_dump($array);[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz lanszelot #21060 üzenetére
Oké, megpróbáltam összedobni W3-ban, de nem jó ott a callback, viszont ez alapján látnod kellene mit kell csinálni:
<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
<?php
// betöltés szimulálása
$array = array();
$array["google"] = ['kep' => "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png", 'link' => "www.google.com"];
$array["startlap"] = ['kep' => "https://lap.hu/images/startlap-logo.png", 'link' => "www.lap.hu"];
// betöltés vége
// define variables and set to empty values
$nameErr = $kepErr = $linkErr = "";
$name = $kep = $link = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z_]*$/",$name)) {
$nameErr = "Only letters and underscore allowed";
}
}
if (empty($_POST["kep"])) {
$kepErr = "Email is required";
} else {
$kep = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$kep)){
$kepErr = "Invalid URL format";
$kep = "";
}
}
if (empty($_POST["link"])) {
$link = "";
} else {
$link = test_input($_POST["link"]);
// check if URL address syntax is valid (this regular expression also allows dashes in the URL)
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$link)) {
$linkErr = "Invalid URL";
$link = "";
}
}
if ($name > "" && $kep > "" && $link > "") {
$array[$name] = ['kep' => $kep, 'link' => $link];
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<h2>PHP Form Validation Example</h2>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name" value="">
<br><br>
Kep: <input type="text" name="kep" value="">
<br><br>
Link: <input type="text" name="link" value="">
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<span class="error"><?php echo $nameErr;?></span>
<br><br>
<span class="error"><?php echo $kepErr;?></span>
<br><br>
<span class="error"><?php echo $linkErr;?></span>
<br><br>
<textarea>
<?php
var_dump($array);
?>
</textarea>
</body>
</html>[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
-
sztanozs
veterán
válasz kuyarashi #21088 üzenetére
fel kell dolgozni php-ban a választ és továbbdobni a felhasználót attól függően, hogy sikeres volt-e a captcha: [link], [link]
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
-
sztanozs
veterán
válasz nevemfel #21107 üzenetére
+Mike: bármi, amit ki akarsz rakni az internetre és jelszót kezel, az elégtelen salt nélkül MD5-ben
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz hiperFizikus #21150 üzenetére
Fejlessz állaptgépet és kezelj mindent kézzel. Nem tudom, most hol tart a kódod, de a regex-szel csak szívni fogsz, ha még mindig azzal próbálkozol.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz hiperFizikus #21220 üzenetére
Ha van otthon egy folyamatosan futó gép (router, raspberry, vagy akármilyen számítógép), akkor arra simán fel tudsz húzni egy webszervert.
Ezen kívül van egy csomó szolgáltató is, akik adnak szervert és minimális tárhelyet ingyenesen vagy nagyon olcsón: [link][ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz hiperFizikus #21222 üzenetére
A szerver is használhatja a keresőt, csak kell hozzá API hozzáférés
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz hiperFizikus #21241 üzenetére
Röviden: igen
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz hiperFizikus #21243 üzenetére
Hosszabban: igen, félreértetted
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz Panhard #21304 üzenetére
mind a ket dt-nek azonos az ID-ja, vagy az elsot tudod megkapni, vagy az osszeset...
btw, ha xml feldolgozas, akkor xpath: [link], [link][ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz Panhard #21306 üzenetére
Ezt nezd meg: [link]
Meg ezt: [link]Vagy alternativakent betoltheted DOM-ba es a getElementById-val megkeresed, ha pont id attributumot keresel...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
Vagy alternativakent betoltheted DOM-ba es a getElementById-val megkeresed, ha pont id attributumot keresel...
Raadasul az XML-ed nem compiant, mivel nincs root element, igy kellene kinezzen:
<root>
<adat>
<dt id="11">egy</dt>
<dt id="22">ketto</dt>
</adat>
<adat>
<dt id="11">haron</dt>
<dt id="22">negy</dt>
</adat>
</root>
Innen igy tudod megkapni a kivan elemet:$xpath = new DOMXpath($document)
$xpath->evaluate('string(/root/adat[position()=1]/dt[@id = "11"])')
//egy
$xpath->evaluate('string(/root/adat[position()=2]/dt[@id = "11"])')
//haromJOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz magortaltos #21309 üzenetére
ha nem response alapon futtatod (oldalbetoltesre), hanem schedulerbol meghivod akkor siman lehet. Persze ettol meg a kliens oldalon nem fog frissulni a tartalom. Kliens oldali JS kell a folyamatos ujratolteshez (de ez meglehetosen nagy forgalmat generalhat).
Kliens oldali JS-bol a setTimeout fuggvennyel tudsz idozitetten oldalbetoltest (vagy barmi egyebet) csinalni.[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Új hozzászólás Aktív témák
- Aokzoe A1 Pro AMD Ryzen 7 7840U - 32GB+512GB
- LENOVO IDEAPAD Y700 INTEL CORE i5-6300HQ 2.3 GHz 8 GB 256 GB SSD GTX 960M 3 óra AKKU IDŐ
- Precision 7520 15.6" FHD IPS i7-7700HQ M1200 16GB 512GB + 1TB magyar vbill új akku gar
- Dell Latitude 5400, 14" FHD IPS, I5-8365U CPU, 8GB DDR4, 256GB SSD, W10/11, Számla, Garancia
- IRIX 15mm F/2.4 Firefly EF
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs