Mért csak az 1 sütivel kód működik?
A kérdésem a címben olvasható, tehát van egy js, ami a cookiekkel "szórakozik".
Az egész jó, egészen addig, amíg csak 1 cookie értékét akarom lekérni.
A kódok:
A süti létrehozásánál:(ez működik. Ami pedig lekéri, és nem működik:)
A $NÉV$ helyén egy szám van. A váéaszokat előre is köszönöm!
■ Az egész jó, egészen addig, amíg csak 1 cookie értékét akarom lekérni.
A kódok:
A süti létrehozásánál:
<SCRIPT TYPE="text/javascript" LANGUAGE="javascript">
function adatlap() {
document.cookie = ('cpu =' + document.adatok.cpu.value + '; expires=15/02/2021 00:00:00;');
document.cookie = ('hdd =' + document.adatok.hdd.value + '; expires=15/02/2021 00:00:00;');
document.cookie = ('memoria =' + document.adatok.memoria.value + '; expires=15/02/2021 00:00:00;');
alert('köszönjük! Most már megtudhatod, hogy melyik program elfut-e a gépeden!');
</script>
<DIV id="adatlap" style="...">
<noscript> engedélyezd a scripteket!</noscript>
<form name="adatok">
<input name="memoria" value="név1">
<input name="cpu" value="név2">
<input name="hdd" value="név3)">
<input type="button" value="kész" onClick= "adatlap();">
</form>
function get_cookie ( memoria )
{
var results = document.cookie.match ( '(^|;) ?' + memoria + '=([^;]*)(;|$)' );
if ( results )
return ( unescape ( results[2] ) );
else
return null;
}
var memoria = get_cookie ( "memoria" );
function get_cookie ( cpu )
{
var results = document.cookie.match ( '(^|;) ?' + cpu + '=([^;]*)(;|$)' );
if ( results )
return ( unescape ( results[2] ) );
else
return null;
}
function get_cookie ( hdd )
{
var results = document.cookie.match ( '(^|;) ?' + hdd + '=([^;]*)(;|$)' );
if ( results )
return ( unescape ( results[2] ) );
else
return null;
}
var hdd = get_cookie ( "hdd" );
if( hdd < $NÉV$ ) {
alert('Ez a program nem fut el a gépeden: a te gépedeen lévő szabad hely:' + hdd + 'a program memóriaigénye: $NÉV$');
}
else {
alert('Ez a program elfut el a gépeden: a te gépeden lévő szabad hely:' + hdd + 'a program memóriaigénye: $NÉV');
if( cpu < $NÉV$ ) {
alert('Ez a program nem fut el a gépeden: a cpu-d:' + cpu + 'a program memóriaigénye: $NÉV$');
}
else {
alert('Ez a program elfut el a gépeden: a te cpu-d:' + cpu + 'a program memóriaigénye: $NÉV$');
Felülírod
adatlap
függvényben szintaktikai hiba van, nincs lezárva.A
get_cookie
függvényt te felülírod. A hoisting miatt pedig a függvény felkerül a kódblokk tetejére, emiatt csak a hdd-s marad meg. Egyébként is teljesen felesleges 3 azonos függvényt csinálni.Ezen kívül, azért ennél kicsit bonyolultabb sütit olvasni.
Csináltam neked egy kész megoldást, a süti olvasását / írását a quirksmode-ról vettem.
köszi
(a süti olvasás működig, tehát azzal nincs baj, de csak akkor ha 1 van bennt, gondolom az általad írt felülírásos hiba miatt.)
Jaés köszi a példát! Sokat segítettél!
var expires = (new
hogyan?
A süti olvasást én egy weboldalról vettem, szépen le volt vezetve mi, micsoda, és sikerült is megcsinálni, egészen a "memoria" részig, aztán hozzá raktam a hdd-t is, de így már nem működött. Az általad írt kódban nem nagyon látom, hogy hol tölti be a cookie-kat, így nem tudok vele mit kezdeni... ):
(tehát ez tesztelve van, biztos működik:)
megvan
Az általad írt kódban nem
És ebben
Ez számomra még mindig érthetőbb (csak nem sikerül megoldanom, hogy mind a 3 cookie-t lekérje):
ez jó?
változók
nem
tehát bebizonyosodott, hogy a
Olyanok is a scriptjeid, mint
Nem semmi csávó vagy!
Miért bántjátok?
Saját kútfőből (nem ám könyvből!) írt egy remek szkriptet, csak az a szemétláda ba..ik rendesen működni. Pedig jól csinálta. És senki sem segít. És erre fel még bántjátok is, hát - meg van a véleményem...
Alapok
rájöttem
(ui.: A kód amit legutoljára írtam nagyon rossz?
Ja és persze: Pepita köszi a biztatást/'védelmet'!
)
Ne köszönd...
Valójában odatartottam eléd a tükröt - és ez sokszor nagyobbat üt, mint a szidás (feltéve, ha meg is látod benne magad).
Ajánlás:
Cikkajánló magyarul, ám itt HTML kezdő cikkek nem sokan vannak. DE.
Mindenképp legyél előbb vér profi HTML(4)-ben és CSS(2)-ben. A HTML5/CSS3 még várhat.
Tanulj meg különbséget tenni program- és leíró nyelvek között.
Csak ezután kezdj JS-el operálni, különben csak katyvasz lesz belőle. Miután az alapokat (JS) már elsajátítottad, máris kacsintgathatsz pl. a jQuery (vagy más rendszer) felé, megkönnyíti sok helyzetben a munkát.
És hidd el: az alapfogalmak rendkívül fontosak, meg is kell értsed ezeket, anélkül nem fog menni.
Szükséged lesz angoltudásra is, sok dolog nincs is magyarul.
Szerk: Programnyelvek portál Itt viszont nincs HTML/CSS, csak programnyelvek.
Ezért :D
Válasz:
Ezen elborult az agyam :D
Őszinte
A kódod alapján neked
ezt tudtam
Ezekkel a linkekkel nagyon
Ajánlom figyelmedbe EZT az oldalt.
Fontos megjegyezni, hogy az ezredfordulókor készült, van ami már máshogy van, vagy nincs is. Ennek ellenére az alapokat nagyon jól megmutatja.
Egyébként kikérném a profik véleményét, nem kötelező az ifnél a kapcsos zárójel? Ha csak return van, elhagyható?
nem kötelező az ifnél a
Nem kötelező, ahogy szinte semmi C szintaxist használó nyelv esetén sem az, ugyanakkor ajánlott.