Új hozzászólás Aktív témák
-
ArchElf
addikt
válasz wolandino #7745 üzenetére
De miért kell neked egy olyan lekérdezés, ami vissza is adja mind a 150e elemet. Mit akarsz feltölteni 150.000 elemmel egy lövésre?
AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
rt06
veterán
válasz Speeedfire #7753 üzenetére
mer' mondjuk exportalni akar (ugyfeltorzset, cikktorzset, arlistat, akarmit), mondjuk csv-be
Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
Sk8erPeter
nagyúr
válasz wolandino #7745 üzenetére
"explaint is nyomtam:
150k-s tábla 150k lekérdezést ad"
És ez önmagában miért lenne bizonyíték arra, hogy jók az indexek? Nem értem a logikát."Az indexek rendben vannak."
Ezt honnan veszed? Esélyes, hogy mégsincsenek rendben, azért lassú a query.A többire: ha rejtélyeskedsz, és a lehető legkevesebb infót adod arról, hogy mi, miért, hogyan van megoldva, akkor nem fogunk tudni segíteni... lehetőleg ne tőmondatokban válaszolj, hanem írj le mindent részletesen, akkor érdemi segítséget is tudunk adni.
Pl. hadd lássunk már legalább részletet a query-ből (pastebinre fel tudod nyomni), meg elárulhatnád, milyen mezőid vannak, mi szerint indexeltél.Egyébként az exportálás nem időzítve, cronnal történik? Hanem egy felhasználói felületen?
Mert ha ilyen szinten sok adat van, és úgyis csak exportálás céljára használod, akkor a felhasználó ne sírjon, ha 150k adatra többet kell várnia... Nyilván nem félnaponta exportálgatod az adatokat.
A "chart" alatt itt most mit értesz? Egy Excel-fájlt? Legalábbis remélhetőleg nem egy felhasználói felületen megjelenő valamit...===
(#7747) Speeedfire : Itt is ír az EXPLAIN-ről és sok hasznos trükkről: [link] (azért linkelem megint ezt a cikket, mert kivételesen nem egy terjengős, felesleges idióta tippekkel teli cikkről van szó...)
[ Szerkesztve ]
Sk8erPeter
-
-
Speeedfire
nagyúr
válasz Sk8erPeter #7759 üzenetére
Pedig ezt már egyszer linkelted is nekem, de csak felületesen futottam át rajta.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
válasz Speeedfire #7762 üzenetére
Kivételesen ebben tényleg találtam említésre méltó tippeket, pedig nagyon sokszor haszontalanok ezek a "100 tipp arról, hogyan tudsz minél több időt elkúrni ennek a cikknek az elolvasásával"-jellegű rovatok.
Sk8erPeter
-
Speeedfire
nagyúr
válasz Sk8erPeter #7763 üzenetére
Ezek a top-ok csak seo miatt születnek.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
wolandino
tag
válasz Sk8erPeter #7759 üzenetére
az explain tudtommal sszépen végigmegy táblánként
lekérdezi a 150k-st, vissza ad 150 k-t, majd megy a többire, azok meg 1-eket, az egyik 5-öt.
Az indexek rendben vannak.
Az id-k azok, illetve a 150k-s táblának szinte minden attribútuma, azok közül az összes, ami id-t tartamal, ezekre megy a JOIN.SELECT *
FROM (1)
JOIN 2 ON 1.d = 2.id
JOIN 3 ON 1.d = 3.id
JOIN 4 ON 1.d = 4.id
JOIN 5 ON 1.d = 5.id
JOIN 6 ON 1.d = 6.id
JOIN 7 ON 1.d = 7.id
JOIN 8 ON 1.d = 8.id
JOIN 9 ON 1.d = 9.id
JOIN 10 ON 1.d = 10.id
JOIN 11 ON 1.d = 11.id
JOIN 12 ON 1.d = 12.id
JOIN 13 ON 1.d = 13.id
JOIN 14 ON 1.d = 14.id
ORDER BY year(1.date), month(1.date), 2.nameazért nem írok az alkalmazásról részletet, mert kompromisszumos megoldásokkal csak akkor szeretnék foglalkozni, ha kiderül, hogy AB szinten nem lehet gyorsítani. Igazából a lekérdezés része érdekel. Ha valakinek jobb úgy, fogja fel teoretikus kérdésnek Akkor mondom majd a felhasználónak, hogy akkor legyen így és így.... amíg nincs így, addig megpróbálom megvalósítani az elképzelését.
-
cucka
addikt
válasz wolandino #7765 üzenetére
Például ez a részed elég szar:
ORDER BY year(1.date), month(1.date), 2.name
Itt ugye a year meg a month függvény az eredmény összes sorára le fog futni, az eredménye tárolódni fog majd utána 150k értéket még rendezni is kell.
Rendezhetnéd 1.date szerint, az gyorsabb.Az explain eredményét még mindig nem láttuk. Fosol, hogy ellopjuk a táblaneveidet, vagy mi van?
-
DeltaPower
őstag
Ezt az order-t én se értettem. Azt sem, hogy ha mindenképp year és month kell, akkor miért nem
select ..., year(1.date) as 1year ... order by 1year, ...
formában, szerintem gyorsabb mintha ordernél futtatná a dátumfüggvényeket.
Másik: SELECT *-ot csak az egyszerűség kedvéért van így, vagy tényleg minden mezőt lekérdez?"Moonshine Whiskey (70°, ízesítés nélküli) van. Fincsi" - Teebee - "De az kiírtaná az egész családomat..Akkor is ha csak én innék belőle.." - forintuser
-
wolandino
tag
válasz DeltaPower #7768 üzenetére
egyszerűség.
ezért nem akartam betenni, mert ha kiszedem az ordert úgy ahogy van, akkor se sokkal jobb a helyzet, 15 mp körüli.
és nem szeretnék olyan lekérdezést tenni az alkalmazásba, ami több mint fél másodperc, mert engem már nagyon szokott idegesíteni, amikor többet kell várni. -
wolandino
tag
válasz DeltaPower #7768 üzenetére
-
rt06
veterán
válasz DeltaPower #7768 üzenetére
az order ertheto, ev-honap alapjan akar rendezni, azon belul pedig nev alapjan
attol pedig, hogy nem a vegen, hanem az elejen csinalja meg a 300000 datumkonverziot, nem lesz gyorsabbakkor mar jobb megoldas, kulon eltarolni az evet es a honapot (a leheto legkisebb egesz tipussal, esetleg enum-mal), majd azok alapjan szurni
igaz, hogy az adattarolas szempontjabol nem a legszebb megoldas, de a sebesseget nagysagrendeket fog dobni[ Szerkesztve ]
Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.
-
wolandino
tag
Köszönöm mindenkinek
-
Sk8erPeter
nagyúr
válasz wolandino #7769 üzenetére
"ezért nem akartam betenni, mert ha kiszedem az ordert úgy ahogy van, akkor se sokkal jobb a helyzet, 15 mp körüli."
Ezek szerint nem jött át, mire jó az EXPLAIN... Azért akartuk látni, mert hátha ott MEGMAGYARÁZZA, hogy mi is az oka, hogy ilyen lassú fostalicska..."és nem szeretnék olyan lekérdezést tenni az alkalmazásba, ami több mint fél másodperc, mert engem már nagyon szokott idegesíteni, amikor többet kell várni."
Hát vazze, miért, szerinted az a normális, hogy max. fél másodperc legyen egy 150 ezres agyonrendezgetett adatmennyiség fájlba (???? ezt sem írtad) exportálása? Komoly adatbázisszervereknél simán, de az nem kevés teljesítményre képes akkor. 15 mp tényleg sok, ezen lehet faragni. De nehogy már napi probléma legyen (vagy ha az, fusson időzítve), és bárki pampogjon egy kicsit több idő miatt, pár másodpercet tud várni, amikor nem kis adatmennyiség kiírásáról van szó...Mellesleg nem értelek, segítséget kérsz, akkor miért kell ennyire fukarkodni az infókkal. Gondolhatod, hogy nem ebből fogunk itt meggazdagodni, hogy beraksz egy komplett screenshotot az explainről... meg különösebben senkit nem érdekelnek az adataid, csak segíteni szeretnénk megoldani a problémádat.
[ Szerkesztve ]
Sk8erPeter
-
wolandino
tag
válasz Sk8erPeter #7773 üzenetére
nem az exportálás, hanem maga a lekérdezés ne legyen több.
de min1 is, a lényegi választ már megkaptam, még1x köszönöm -
biker
nagyúr
válasz Sk8erPeter #7720 üzenetére
ó, mondhatni shitfuck
Tudod,mi volt a baj? 4 soros tábla volt a tesztalany.
és ekkor ez a bibi:The search result is empty because the word “MySQL” is present in at least 50% of the rows. As such, it is effectively treated as a stopword. For large data sets, this is the most desirable behavior: A natural language query should not return every second row from a 1GB table. For small data sets, it may be less desirable.
A word that matches half of the rows in a table is less likely to locate relevant documents. In fact, it most likely finds plenty of irrelevant documents. We all know this happens far too often when we are trying to find something on the Internet with a search engine. It is with this reasoning that rows containing the word are assigned a low semantic value for the particular data set in which they occur. A given word may reach the 50% threshold in one data set but not another.
The 50% threshold has a significant implication when you first try full-text searching to see how it works: If you create a table and insert only one or two rows of text into it, every word in the text occurs in at least 50% of the rows. As a result, no search returns any results. Be sure to insert at least three rows, and preferably many more. Users who need to bypass the 50% limitation can use the boolean search mode; see Section 11.9.2, “Boolean Full-Text Searches”.
Bármire kerestem, 2-ször vagy többször szerepelt
Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
meone
tag
Sziasztok.
Egy kicsit meg akadtam egy feladat megoldása közben.
A helyzet a következő.
Van egy olyan vonaldiagramom amit ajax segítségével dolgozok fel.
Az alap diagram innen való ezt módosítani szeretném illetve módosítottam már.
[link]
A legelső amit éppen módosítok.A problémám ezzel az, hogy az adatokat egy külön JSON fájlból szedi, ezt már kiváltottam, úgy, hogy egy PHP fájlban megtörténik az adatok feldolgozása MySQL-es adatbázisból.
A megjelenítéskor mikor pórbálom beletenni a kódba az általam kreált kódot a diagram eltűnik viszont ha ugyan ezt a kérés kiteszem a egy fájlba és azt hivatkozom be akkor megjeleníti.
A kód ami gondot okoz az ez:<script type="text/javascript">
$(function() {
$.getJSON('<?php
echo "http://localhost/megj/Hs/examples/basic-line/cucc.php";
?>',
function(data)
{
// Create the chart
window.chart = new Highcharts.StockChart({
chart : {
renderTo : 'container'
},
rangeSelector : {
selected : 1
},
title : {
text : 'Idojarasi adatok'
},
xAxis : {
maxZoom : 1 * 24 * 3600000
},
series : [{
name : 'ch',
data : data,
tooltip: {
yDecimals: 2
}
}]
});
});
});
</script>Valami ötlet esetleg, hogy hogyan módosítsam a kódot, hogy ne egy fájlból szedje az adatokat, hanem az általam készített lekérdezést hajtsa végre?
Ezzel a kóddal próbálom össze hozni a dolgot:
$res = "SELECT unix_timestamp(concat(`;yr`,'-',`mo`,'-',`dy`,' ',`hr`,':',`mi`,':00'))*1000 as datum,`T1` FROM `alm1` ";
if ($eredmeny = mysql_query($res)) {
$sorok_szama=mysql_num_rows($eredmeny);
$mezok_szama=mysql_num_fields($eredmeny);
//,MYSQL_ASSOC
$out = "[";
while ($sor = mysql_fetch_array($eredmeny,MYSQL_ASSOC)) {
$out .= "[{$sor['datum']},{$sor['T1']}],";
#$sorm = json_encode($sor2);
}
$out = substr($out,0,-1)."]";
echo $out;
} else {
echo mysql_error();
}Köszi előre is.
Elnézést kérek mindenkitől a helyes írásom ért :)
-
Sk8erPeter
nagyúr
Valószínűleg helytelen a formátuma a JSON-nek, amit kinyomsz, ezért nem tudja feldolgozni, és úgy tűnik, nincs megoldva a rendes hibakezelés, hogy egyértelmű legyen a hiba oka.
Itt a példa JSON-fájl: [link], ilyesmit kellene kiíratnod.
Rakd fel mondjuk pastebinre, hogy Te mit kapsz, milyen formátumú lesz az általad kiíratott $out változó kimenete, hátha abban megtaláljuk a hibát.
--
Még egy gyors megjegyzés:
echo "http://localhost/megj/Hs/examples/basic-line/cucc.php";
Soha ne használj ilyen szinten kötött címeket!! Mi van, ha már költözteted egy éles szerverre a cuccaidat, akkor mindenhol majd szépen kicserélgeted a "http://localhost" címet? Nagyon kényelmetlen megoldás. Ne legyen benne a domain, se a protokoll (http/https). Ez nyugodtan lehetne pl. simán "/megj/Hs/examples/basic-line/cucc.php" (a localhostos rész nélkül), ha már - localhoston - szerverről futtatod.Sk8erPeter
-
meone
tag
válasz Sk8erPeter #7778 üzenetére
Az a baj, hogy ugyan ezeket kapom és mégse dolgozza fel, íme egy részlet ami kinyom a php:
[[1314347520000,30.8],[1314348120000,30.1],[1314348720000,31.2],[1314349320000,31.5],[1314349920000,31.7],[1314350520000,32.5],[1314351120000,33.2],[1314351720000,33.7],[1314352320000,34.3],[1314352920000,34.6],[1314353520000,34.7],[1314354120000,35.1],[1314354720000,35.2],[1314355320000,34.7],[1314355920000,34.3],[1314356520000,34.6],[1314357120000,34.5],[1314357720000,34.5],[1314358320000,34.6],[1314358920000,34.8],[1314359520000,34.9],[1314360120000,35],[1314360720000,35.2],[1314361320000,35.4],[1314361920000,35.4],[1314362520000,35.3],[1314363120000,35.4],[1314363720000,35.4],[1314364320000,35.6],[1314364920000,35.5]]
Limitáltam, hogy csak 30 sort szedjen ki így könnyen látható minden ugyan az mint amit te belinkeltél.
A hivatkozás, meg csak ideiglenes, általában én is úgy szoktam, tudom nagy szívás van abból ha kötött az útvonal.Elnézést kérek mindenkitől a helyes írásom ért :)
-
Sk8erPeter
nagyúr
Mondjuk annyi különbség tűnt fel, hogy a linkelt JSON-fájlban úgy van meg a tartalom, hogy ezek zárójelek közé vannak ékelve (meg kérdőjel az elején):
?( // itt kezdődik...
[ // ez már a tiéd
[1314347520000, 30.8],
[1314348120000, 30.1],
......................
]
);Nem tudom, ez okoz-e igazán releváns különbséget, de nem tartom elképzelhetetlennek...
Ha a belinkelt fájlt teszed be a getJSON-be a sajátod helyett, akkor azzal működik?Sk8erPeter
-
meone
tag
válasz Sk8erPeter #7780 üzenetére
Ha magát a fájlt linkelem be direktbe nem feldolgozva a PHP által akkor azt se olvassa be.
Csak akkor jelenik meg ha külön fájlból olvassa be.
Maga a fájlom nekem is úgy épül fel majdnem teljesen mint a belinkelt.
Egyedül az elején nincsen kérdőjel.
Nem lehet az, hogy valamit az ajax mahinál még?[ Szerkesztve ]
Elnézést kérek mindenkitől a helyes írásom ért :)
-
biker
nagyúr
válasz Sk8erPeter #7777 üzenetére
zip-elt válasz: 4 sor volt a táblában, és ezen futtattam a FTS-et, és ha egy találat az összes rekord 50%-át kiteszi, akkor is ha nem stopword, annak tekinti a rendszer, így az FTS 0 sort ad vissza
Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
MODERÁTOR
Sziasztok!
Hogy tudnék a lehető legegyszerűbben elpostolni egy checkboxokat is tartalmazó formot?
mobal,
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
Sk8erPeter
nagyúr
"a fájlom nekem is úgy épül fel majdnem teljesen mint a belinkelt"
Hát ne MAJDNEM teljesen úgy épüljön fel. Egyezzen meg szintaktikájában. Mibe telne kiegészíteni azzal,ami még hiányzik? (pl. hiányzó zárójel, lezárás)
Simán lehet, hogy valami van még, ami nem tűnik fel. Nem tudnál jsfiddle-re vagy máshova felrakni egy példakódot, azzal a konkrét legenerált tartalommal, ami a tiéd?
Mondjuk az oldalon, amit linkeltél, szerepelt egy jsFiddle-link: [link].(#7782) biker: hmm, hát ez tanulságos. És akkor hogy oldod meg ilyen esetekre a kérdést?
Sk8erPeter
-
MODERÁTOR
válasz Sk8erPeter #7785 üzenetére
Szerintem próbáltam kérdezés előtt , de reméltem van valami egyszerűbb módszer is. Akkor marad ez.
[ Szerkesztve ]
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
MODERÁTOR
Felteszem a kérdést még egyszer, nem jutok vele dűlőre. Szóval ez egy ilyen összetett lekérdezés / update lenne egy oldalon. Lényegében a weboldal alap beállításait szeretném módosítani. Van pár elem ami input, van pár ami textbox és van pár ami checkbox.
Na most ha nem kap a checkboxom értéket - nincsen kipipálva - akkor elpostoláskor "üres" lesz és arra kéne egy megoldás. De ha jól sejtem akkor marad a következő, hogy megnézem üres -e. Ez azért nem jó nekem sajnos mert egyszerre három táblába is dolgozok, remélem van rá valami egyszerű megoldás.
Másik, hogy megint a newhostingnál miért nem megy a mod_rewrite
Valaki aki ott van, tudna egy működő .htaccess fájlt nekem mutatni? Szerintem valami egyszerű sort kihagytam.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
cucka
addikt
Checkbox-okat úgy szoktunk feldolgozni, hogy mindegyik mellett van egy hidden mező, ami a checkbox állapotától függően 0 vagy 1 értéket vesz fel. Nyilván ez esetben kell egy javascript kód is, ami a checkbox értékének változásánál frissíti a hidden mező értékét. Ezt a javascript kódot javaslom, kösd rá a checkbox onclick eseményére.
-
meone
tag
válasz Sk8erPeter #7784 üzenetére
A majdnemet arra értettem, hogy amit belinkeltél abban vannak kommentek nálam meg nincsenek. Ennyi a külömbség.
A lekérdezés végeredménye így néz ki:[[1314347520000,30.8],
[1314348120000,30.1],
[1314348720000,31.2],
[1314349320000,31.5],
[1314362520000,35.3],
.....
.....
[1314364320000,35.6],
[1314364920000,35.5]]Feltettem a módosított cuccokat pastebinre:
A módosított index.php: [link]
A cucc.php amiben lekérem az adatokat a MySQL-ből: [link]
A cucc.php ban szereplő kódot szeretném valahogy bele indegrálni az index.php-ba, de ha beleteszem és át állítom hogy onnan szedje akkor eltűnik a diagram.Elnézést kérek mindenkitől a helyes írásom ért :)
-
Speeedfire
nagyúr
Na, kicsit kemény fába fogom vágni azt a bizonyos fejszét lehetséges....
Ma voltam egy leendő ügyfélnél (ingatlanközvetítő, kölcsönző) és olyan oldal kellene nekik, ahol az adott épületnek a tervrajzát fel lehetne darabolni mondjuk emeletenként és az adott emeleteken mutatná a helységeket, hogy xyz helység mekkora, kivan-e már adva vagy sem.
Nos ezt meglehet oldani dinamikusan valahogy vagy minden egyes ilyen esetben fel kellene darabolnom a tervrajzot, majd egyesével ezeket kitölteni?
Ez csak egy része lenne az oldalnak...Ilyesmi kellene nekik. -> [link] virtuális kereső, majd egy adott épületen belül valamelyik emelet...
Egyelőre csak manuálisan tudom ezt elképzelni.Illetve, mennyit nem pofátlanság egy ilyen oldalért kérni?
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Alukard
senior tag
válasz Speeedfire #7790 üzenetére
Legjobb tudomásom szerint ezek mind egyedi fejlesztések, de rosszabbnak látszik mint amilyen... Viszont a szint darabolós képeket neked kell megcsinálni.
https://blackfyre.ninja
-
cucka
addikt
válasz Speeedfire #7790 üzenetére
Nos ezt meglehet oldani dinamikusan valahogy vagy minden egyes ilyen esetben fel kellene darabolnom a tervrajzot, majd egyesével ezeket kitölteni?
Utóbbi.Illetve, mennyit nem pofátlanság egy ilyen oldalért kérni?
- Fogod azt az órabért, amivel kiegyezel és nem érzed azt, hogy szarért-hugyért dolgozol.
- Megsaccolod, kb. hány óra alatt leszel vele kész. Próbálj nagyvonalúan saccolni, főleg, ha olyan dolgot kell fejleszteni, aminek még neked is utána kell nézned.
- Meghatározod a projekt szopófaktorát. Ez azért fontos, mert mindig lesznek váratlan kérések, apró javítások, stb., amivel nem tudsz előre kalkulálni. Javaslat: ha nem különösebben rázós az ügyfél/projekt, akkor kiindulásnak a 2-es szopófaktor kb. jó lesz.Namost a fenti 3 számot összeszorzod és megvan, mennyi az az összeg, amiért neked várhatóan megéri bevállalni a munkát. Ha ennél lényegesen kevesebbet szeretne fizetni az ügyfél, akkor valószínűleg jobban jársz, ha nem vállalod be a munkát.
A kalkuláció általában érvényes mindenféle kis léptékű számtech projektre. Nyilván ha a saját munkádon túl plusz költségeid is lesznek (utazni kell, domain regisztráció, bármi), azt is szépen hozzá kell adni.
[ Szerkesztve ]
-
Speeedfire
nagyúr
Köszi mindkettőtök segítségét.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Sk8erPeter
nagyúr
Minek hidden mező és JS ehhez? Miért nem elég, ha csekkoljuk isset()-tel, hogy megvan-e egyáltalán a checkbox típusú input (name szerint)?
===
(#7789) meone:
"amit belinkeltél abban vannak kommentek nálam meg nincsenek. Ennyi a külöNbség."
... meg amit már mondtam párszor... A zárójeleket és a pontosvesszős lezárást még mindig lehagytad...Sk8erPeter
-
cucka
addikt
válasz Sk8erPeter #7794 üzenetére
Minek hidden mező és JS ehhez?
Azért, mert így a szerver oldalon fel tudod dolgozni az értékét ugyanazzal a kóddal/alkalmazáslogikával, mint amivel a többi elpost-olt értéket is feldolgozod.Vágod, ha van egy x űrlapelemed, akkor minden esetben tudni fogod, hogy az ő értéke a $_POST['x']-ben található. A hidden mezős technika célja, hogy ez így checkbox-okra is működjön.
[ Szerkesztve ]
-
meone
tag
válasz Sk8erPeter #7794 üzenetére
Bocsi, valahogy elkerülte a figyelmemet.
Megcsináltam a változtatásokat de akkor sem működik.
Most így néz ki az index.php: [link]
Viszont, ha a cucc.php-ba beleteszem a zárójeleket és a pontosvesszőt akkor nem jelenik meg a diagram az index.php oldalon.Elnézést kérek mindenkitől a helyes írásom ért :)
-
Sk8erPeter
nagyúr
Há' vágom én. De a többi elpostolt értékhez tartozó alkalmazáslogikába beletenni egy isset() vagy !empty() (ez úgyis lefedi az isset-et) ellenőrzést nem kerül semmibe. Ez az ellenőrzés úgysem árt, pl. mi van, ha valaki elpostol úgy adatokat, hogy belegányol a kódba kliensoldalon, kiszed elemeket belőle, Te meg a nem létező elemekre futtatsz mondjuk további vizsgálatokat - ezzel legalább az ilyen rosszindulatú szándék elé is teszel plusz egy szűrőt. (Félre ne érts, itt nem azt mondom, hogy ezzel kivédsz bármilyen támadást, vagy hasonló, de legalább plusz egy lépés afelé, hogy teljes körű ellenőrzésed legyen.)
Én is úgy vagyok vele manapság, hogy k@pja be, aki kikapcsolja a böngészőjében manapság a JavaScriptet, de azért még mindig gondolni kell erre az esetre is.Sk8erPeter
-
Sk8erPeter
nagyúr
Hű, már nagyon kezded összekutyulni, most már az index.php-be is beletetted ezt, aminek a JSON-generáló fájlban kéne lennie? Mé', minek?
Korábban ezt írtad: "Ha magát a fájlt linkelem be direktbe nem feldolgozva a PHP által akkor azt se olvassa be." Először azt oldd meg, hogy saját tartalmat mindenféle generálás nélkül egyszerűen kiíratsz, a megfelelő formátumban.
Kezdd azzal, hogy simán a cucc.php fájlodba másold bele ennek a fájlnak a tartalmát (persze először kommentezd ki átmenetileg a saját megírt kódodat), és próbáld ki, úgy működik-e. Ha nem, akkor már eleve itt van valami gáz! Először ezt szűrd ki. Lehet, hogy elérési útvonal, vagy bármi más, de mindenképp figyeld a böngészőben a developer tool konzolját (pl. Chrome-ban F12, FF-ban ugyanez, ha telepítve van a Firebug, esetleg Ctrl+Shift+I Operában Dragonfly-hoz), hogy kiír-e valami hibaüzenetet! (pl. 404, vagy bármi más hiba, JS-exception, stb.)Még annyit esetleg kipróbálhatnál (bár kétlem, hogy ez önmagában megoldja, de ki tudja manapság ), hogy az adatgeneráló PHP-fájlod (nálad cucc.php) elején kiküldesz egy JSON-headert:
header('Content-type: application/json');Ja, még egy, hogy ugye nem tartalmaz BOM-ot az UTF-8-fájlod (ha UTF-8-kódolású egyáltalán)? (Notepad++-ban ezt meg tudod nézni.)
[ Szerkesztve ]
Sk8erPeter
-
cucka
addikt
válasz Sk8erPeter #7797 üzenetére
De a többi elpostolt értékhez tartozó alkalmazáslogikába beletenni egy isset() vagy !empty() (ez úgyis lefedi az isset-et) ellenőrzést nem kerül semmibe.
Kivéve ha automatizálni szeretnéd a form feldolgozását.Ez az ellenőrzés úgysem árt, pl. mi van, ha valaki elpostol úgy adatokat, hogy belegányol a kódba kliensoldalon, kiszed elemeket belőle, Te meg a nem létező elemekre futtatsz mondjuk további vizsgálatokat
A checkboxos-javascriptes trükk nem váltja ki az adatok szerveroldali ellenőrzését. A felhasználó által küldött információ mindig megbízhatatlan, ez független attól, hogy az az információ egy egyszerű form elemből jön, vagy közbeiktattunk valamilyen javascript kódot is. (Tehát teljesen mindegy, hogy javascript-el rakod össze az űrlap adatait vagy sem)Én is úgy vagyok vele manapság, hogy k@pja be, aki kikapcsolja a böngészőjében manapság a JavaScriptet, de azért még mindig gondolni kell erre az esetre is.
A munkahelyemen mi nem támogatjuk sem az IE6-ot, sem pedig az ilyen klienseket, ahol nincs javascript.
Szép lassan 2012 van, valahol meg kell húzni a határt - az egész web a javascript-ben írt böngészőben futható alkalmazásokról szól. Nem lehet egyszerre megfelelni a modern kor igényeinek és támogatni az elavult klienseket. -
Sk8erPeter
nagyúr
"Kivéve ha automatizálni szeretnéd a form feldolgozását."
Na de ez még mindig nem mond ellent annak, amit írtam. Automatizáltan is ugyanúgy benne lehet az isset() VAGY !empty() ellenőrzés...A felhasználótól érkező információ megbízhatatlanságáról meg szerintem nem kell különösképpen tárgyalnunk, ez evidens... Nyilván kliensoldali ellenőrzés sehol nem vált ki semmiféle szerveroldali ellenőrzést, ezt mindketten tudjuk, nem is tartozik szorosan a témához.
Arról beszéltem, hogy az isset ellenőrzés azért sem hülyeség, mert kliensoldalon kiszedhet a formból a júzer elemeket, úgy postolja el, Te meg mondjuk ha nem nyomatsz egy isset() ellenőrzést, akkor lehet, hogy vizsgálod a POST tömb olyan indexét, ami nem is létezik, így kaphatsz egy notice-t.A JavaScript hiányával egyetértek, hogy manapság már nem érdemes foglalkozni, legfeljebb szerveroldali validálás szintjén. Mégsem értek egyet feltétlenül a checkbox hidden mezővel való kiegészítésének szükségességével, ez a lényeg.
Sk8erPeter
Új hozzászólás Aktív témák
- Érkezik Magyarországa az LG szuper dizájnos hordozható projektora
- World of Tanks - MMO
- Otthoni hálózat és internet megosztás
- Ukrajnai háború
- Stellar Blade
- AMD off topik: VGA, CPU, APU és minden, ami AMD
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Így építsd a billentyűzeted!
- Linux felhasználók OFF topikja
- Bemutatkozott a Moto G32 4G
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest