Cookie soll für eine längere Zeit gespeichert werden!
Paul
- javascript
Ersteinmal guten Tag!
Ich habe nach langem herumsuchen einen Javascript gefunden,
der am Anfang nach Namen der Person fragt,
und diesen dann solange speichert, bis der Browser geschlossen wird!
Ich möchte gerne den Javascript so verändern,
dass der Cookie gespeichert wird und z.B am nächsten Tag der Name immer noch vorhanden ist!
Leider habe ich das nach langem rumsuchen nach "cookie speichern" immer noch nicht die quelltexte in meinen Javascript Text einbauen können.
Hier habe ich jetzt den Javascript,
und ich hoffe einer von euch kann mir den Javascript so verändern, dass der Cookie gespeichert wird:
<div id="infos"></div>
<script type='text/javascript'>
<!--
function getCookieVal (offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}
function SetCookie (name, value)
{
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (2 < argc) ? argv[2] : null;
var path = (3 < argc) ? argv[3] : null;
var domain = (4 < argc) ? argv[4] : null;
var secure = (5 < argc) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function rename() {
name=abfrage();
if(name=="nix") {
alert('Sag doch einfach deinen Namen!');
rename();
} else {
SetCookie('name', name);
var zahl=GetCookie('zahl');
var text='<div align="center"><strong>Herzlich Willkommen <a onclick="Javascript:rename()" style="cursor:hand;color:#000000;">'+ name +' </a><br />Cool, dass du hier rumsurfst!</strong><br /><span style="font-size:10pt;">Du bist heute zum '+zahl+'. mal hier</div></span>';
document.getElementById('infos').innerHTML = text;
}
}
function abfrage() {
n = window.prompt("Sag doch mal deinen Namen:","");
if(n=='') {
alert('Du musst schon was eingeben !!');
} else if(n==null||!n) {
return "nix";
} else {
return n;
}
abfrage();
}
function load()
{
if(!GetCookie('name'))
{
var name=abfrage();
var zahl=0;
if(name!=="nix") {
SetCookie('name', name);
} else {
name="Unbekannter"
}
} else {
var name=GetCookie('name')
var zahl=GetCookie('zahl')
}
zahl++;
SetCookie('zahl', zahl);
var text='<div align="center"><strong>Herzlich Willkommen <a onclick="Javascript:rename()" style="cursor:hand;color:#000000;">'+ name +' </a><br />Cool, dass du hier rumsurfst!</strong><br /><span style="font-size:10pt;">Du bist heute zum '+zahl+'. mal hier</div></span>';
document.getElementById('infos').innerHTML = text;
}
load();
//-->
</script>
Bitte hilft mir doch jemand,
euer Paul !!
Gute Guete!
Soviel (unnuetz) geposteter Code fuer so eine kurze Antwort: SelfHTML
Hi
Danke für die schnelle Antwort erstmal!
Und welchen Teil muss ich jetzt wo in meinem Javascript einfügen?
hi,
Und welchen Teil muss ich jetzt wo in meinem Javascript einfügen?
Den, der das bewirkt, was du willst - dort, wo er sinnvoll ist.
Schau dir das zweite Beispiel an, und lese die Erklärung aufmerksam.
gruß,
wahsaga
Hi
Ich krieg dass echt nicht hin, hab das durchgelesen und dann den teil an verschiedenen Stellen eingefügt und ausprobiert, bekomm dass einfach nicht hin, kann mir BITTE nicht jemand die Anweisung sagen, wo ich genau was einfügen muss, bitte!!
Paul
?? Du hast aber den SlfHTML Text schon verstanden?
Irgendwo in Deinem Codewust (den sich hier mit ziemlicher Sicherheit keiner genau angeschaut hat oder anschauen wird) setzt Du ja den Cookie. Und das liebe wahsaga Orakel hat Dir doch schon auf eine recht sanfte Weise erklaert, dass Du nur das, was Du in SelfHTML gelesen hast in deinem Code umzusetzen. Sprich: den Cookie so setzen, dass er das gewuenschte tut.
Punkt 1: in Deinem Code finden wo der Cookie gesetzt wird.
Punkt 2: aus SelfHTML entnehmen wie man den Cookie so setzt wie es dir beliebt
Punkt 3: den Cookie in deinem Code entsprechend anpassen
Bei Punkt 1 hilft eine Dateisuche zum Finden des Schlingels.
Wird ein Cookie grundsätzlich bei setCookie oder bei getCookie gesetzt?
hi,
Wird ein Cookie grundsätzlich bei setCookie oder bei getCookie gesetzt?
Was heisst set auf Deutsch, was heisst get auf Deutsch?
gruß,
wahsaga
Vielen Dank, habs hinbekommen!
set und get, wo sind da wohl die Unterschiede? Soweit Englisch sollte man schon koennen...
Also. Bevor Du ein Verfallsdatum setzt, brauchst Du erstmal eins. Ein festes macht kaum Sinn also sollte das bei jedem Aufruf der Seite anhand des aktuellen Datums genereirt werden.
Dafuer braucht man date().
Zum Testen kannst Du erstmal ein festes setzen. Dafuer habe ich unter dem Titel 'kleine Hilfe' was geschrieben.
Das musst Du dann umwandeln. mit toGmtString() Der Wert den Du damit erhaelst ist das was Du brauchst um dem Cookie ein Verfallsdatum zu geben.
Das Verfallsdatum selbst setzt du einfach dirket nachdem der cookie gesetzt wurde.
Hier eine kleine Hilfe:
Ablaufdatum = new Date(Jahr, Monat, Tag);
Damit, und den Informationen aus dem Link, den ich Dir gab, solltest Du eigentlich in der Lage sein die noetigen Anpassungen vorzunehmen.