Individuální přístup pro uživatele – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Individuální přístup pro uživatele – JavaScript, AJAX, jQuery – Fórum – Programujte.comIndividuální přístup pro uživatele – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

quest0
Newbie
3. 6. 2013   #1
-
0
-

Dobrý den.Chci se zeptat na toto:
Pokud mám stránku na kterou se člověk přihlásí a na ní je např:tlačítko které ubere 1 z proměnné y a přidá 1 k proměnné x.Jak mohu udělat to aby pokud přidá 3 k x (a tím odebere 3 z y) a potom se odhlásí a znovu přijde aby tam znovu bylo 13 x a 7 y a ne 10 x a 10 y?
Kód mám zatím takto a nevím co přidat dál:

<script type="text/javascript">
var x=10;
var y=10;
function nazev()
{
if (x>= 1)
     {
     x +=1;
     y -=1;
     }
window.document.getElementById("vysledek").innerHTML=x;
}
</script>
<div id="vysledek">10
</div>
<br>
<input type="button" onClick="nazev();" value="pridej x">

Moc děkuji za jakkoukoliv odpověď.

Nahlásit jako SPAM
IP: 94.241.69.–
Markaos0
Návštěvník
3. 6. 2013   #2
-
0
-

Ukládej to do cookies, nebo do čehokoli jiného. Ideální by bylo použít databázi na serveru, uživatele přihlašovat přes PHP a při každém stisknutí tlačítka odesílat pomocí AJAXu na server. Pokud chceš snížit nároky na server (opravte mě, pokud se mýlím), tak odesílej data až při načtení další stránky.

Zasláno z mobilního telefonu.

Nahlásit jako SPAM
IP: 82.145.210.–
Linux is like a wigwam
No gates, no windows, apache inside.
quest0
Newbie
3. 6. 2013   #3
-
0
-

#2 Markaos
Ano na cookies jsem taky myslel ale nevím jak to přesně udělat aby se data uložila a při dalším načtení tam viděl 13 a 7.

Na nějakých stránkách jsem četl tohle:

var dny = 7;
var denExp = new Date();
denExp.setTime (denExp.getTime() + (86400 * 1000 * dny));

document.cookie = "x = hodnota1; expires=" + denExp.toGMTString() + "; path=/user.php";
document.cookie = "jmeno2 = hodnota2; expires=" + denExp.toGMTString() + "; path=/user.php";

function ulozCookie (x, hodnota, vyprsi) {

  document.cookie = x + "=" + escape(hodnota) + "; expires=" + vyprsi.toGMTString() +  "; path=/";
}

function nactiCookie(x) {

  var najdi;

  najdi = x + "=";
  offset = document.cookie.indexOf(najdi);
  if (offset != -1) {
    offset += najdi.length ;
    konec = document.cookie.indexOf(";", offset) ;
    if (konec == -1)
      konec = document.cookie.length;
    return unescape(document.cookie.substring(offset, konec));
  }
  else
    return "";
}

function smazCookie(x) {

  var denExp = new Date();
  denExp.setTime(denExp.getTime() - (86400 * 1000 * 1));
  ulozCookie(x, "", denExp);
}

Ale nevím jak to zakomponovat do mého kódu.

Jinak děkuju za odpověď.

Nahlásit jako SPAM
IP: 94.241.69.–
Markaos0
Návštěvník
4. 6. 2013   #4
-
0
-

   

<!DOCTYPE HTML>
<html>
<head>
<meta charset="CP1250">
<title>Test</title>
</head>
<body>
<div id="vysledek">
</div>
<br>
<input type="button" onClick="nazev();" value="přidej x">
<script>
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
  {
  c_start = c_value.indexOf(c_name + "=");
  }
if (c_start == -1)
  {
  c_value = null;
  }
else
  {
  c_start = c_value.indexOf("=", c_start) + 1;
  var c_end = c_value.indexOf(";", c_start);
  if (c_end == -1)
  {
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
var x = getCookie("x");
if(x==null){
  x = 10;
  setCookie("x","10",60);
}
var y = getCookie("y");
if(y==null){
  y = 10;
  setCookie("y","10",60);
}
x = eval(x);
y = eval(y);
window.alert(x);
function nazev()
{
if (x>= 1)
     {
     x +=1;
     y -=1;
     }
window.document.getElementById("vysledek").innerHTML=x;
setCookie("x",x,60);
setCookie("y",y,60);
}
x--;
y++;
nazev();
</script>
</body>
</html>

Snad to je to, co jsi chtěl

Nahlásit jako SPAM
IP: 89.24.18.–
Linux is like a wigwam
No gates, no windows, apache inside.
quest0
Newbie
4. 6. 2013   #5
-
0
-

#4 Markaos
Ano to je ono ale mohlo by to rozpoznat uživatele a podle toho co tam dal on to zobrazit?Jako třeba na účtu a zobrazí 5 a na účtu b zobrazí 100.

Nahlásit jako SPAM
IP: 94.241.70.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

 

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