Hi @all,
also diesmal besteht meine Frage darin wie ich einen cookie mit bestimmten Namen per JS checken kann.
Folgenden Tastcode habe ich mal gemacht:
Jetzt zeigt mir aber das alert sämtliche irgendwann mal gesetzten Cookies von der Domain an. Das heist wirklich alle von irgendwelchen Subdomains usw. Ich kann ja net für mehrere Subdomains immer verschiedenen Namen nehmen.
Also begriffen habe ich schonmal das die erste Angabe im document.cookie String der Cookie name ist und danach kommt der String den er speichern soll. Hoffe man das ich mir das so richtig zusammengereimt habe.
Danke schonmal
gruß strolch00
*edit
Da hier niemand schreibt scheint es wohl nicht möglich zu sein deswegen habe ich mal versucht mir die beiden Funktionen selber zu schreiben:
Jedoch funktioniert das nicht wo der Alert steht. Ob das setzen funktioniert weiß ich noch net aber meiner Meinung nach schaut das soweit iO aus.
Aber im Alert in der while sagt er immer undefined. Wie kann denn sowas sein? Ein Alert auf cookie zeigt mir den Namen=value also string soweit ich weis.
*edit2
So sagt mir das erste allert mit [0] und [1] am ende das es ein String ist, aber ich schaffe es einfach net das Ding zu speichern. Irgendwas mache ich anscheinend verkehrt. Und ohne typeof() stehen bei [0] am ende auch wirklich die Cookienamen drin. Ich bin total ratlos. Hoffe einer von euch weis was los ist ich bau an dem Ding schon 5 Stunden und komm net wirklich weiter. Wenn das daran liegt das man den vorhanden cookies array nicht ändern kann, verstehe ich net warum es mit einem neuen array names values nicht klappt. Firebug meckert irgendwie auch net rum.
also diesmal besteht meine Frage darin wie ich einen cookie mit bestimmten Namen per JS checken kann.
Folgenden Tastcode habe ich mal gemacht:
HTML:
function gastRequest()
{
document.cookie = "Name=Test1";
document.cookie = "Hallo=Test2";
alert(document.cookie);
}
Jetzt zeigt mir aber das alert sämtliche irgendwann mal gesetzten Cookies von der Domain an. Das heist wirklich alle von irgendwelchen Subdomains usw. Ich kann ja net für mehrere Subdomains immer verschiedenen Namen nehmen.
Also begriffen habe ich schonmal das die erste Angabe im document.cookie String der Cookie name ist und danach kommt der String den er speichern soll. Hoffe man das ich mir das so richtig zusammengereimt habe.
Danke schonmal
gruß strolch00
*edit
Da hier niemand schreibt scheint es wohl nicht möglich zu sein deswegen habe ich mal versucht mir die beiden Funktionen selber zu schreiben:
PHP:
/* imitate the setCookie Funktion from PHP use */
function setCookie( name, value, expires )
{
if(typeof(expires) == 'undefined')
expires = null;
else
{
var ex = new Date();
expires = ex.getTime() + (expires * 24 * 60 * 60 * 1000);
}
/* cookies exists */
if(document.cookie)
{
var c = document.cookie;
if(c.indexOf(name) != c.lastIndexOf(name))
{
alert('Fehler bitten melden Sie das dem Support.\n Vielen Dank');
}
}
if(expire == null)
document.cookie = name + '=' + value;
else
document.cookie = name + '=' + value + '; expires=' + expires.toGMTString();
}
/* imitate the $_COOKIE vars from PHP use */
function readCookie( name )
{
//if(!document.cookie || document.cookie.indexOf( name ) == -1)
//return false;
var c = document.cookie;
var cookies = c.split(';');
var cLength = cookies.length;
if(cLength > 1)
{
var i = 0;
while(i < cLength)
{
cookies[i]['value'] = cookies[i].split('=');
alert(cookies[i]['value']);
i++;
}
}
}
Jedoch funktioniert das nicht wo der Alert steht. Ob das setzen funktioniert weiß ich noch net aber meiner Meinung nach schaut das soweit iO aus.
Aber im Alert in der while sagt er immer undefined. Wie kann denn sowas sein? Ein Alert auf cookie zeigt mir den Namen=value also string soweit ich weis.
*edit2
PHP:
/* imitate the $_COOKIE vars from PHP use */
function readCookie( name )
{
//if(!document.cookie || document.cookie.indexOf( name ) == -1)
//return false;
var c = document.cookie;
var cookies = c.split(';');
var cLength = cookies.length;
if(cLength > 1)
{
var i = 0;
while(i < cLength)
{ alert(typeof(cookies[i].split('=')[1]));
cookies[i]['v'] = cookies[i].split('=');
//alert(cookies[i]['v']);
i++;
}
}
}
So sagt mir das erste allert mit [0] und [1] am ende das es ein String ist, aber ich schaffe es einfach net das Ding zu speichern. Irgendwas mache ich anscheinend verkehrt. Und ohne typeof() stehen bei [0] am ende auch wirklich die Cookienamen drin. Ich bin total ratlos. Hoffe einer von euch weis was los ist ich bau an dem Ding schon 5 Stunden und komm net wirklich weiter. Wenn das daran liegt das man den vorhanden cookies array nicht ändern kann, verstehe ich net warum es mit einem neuen array names values nicht klappt. Firebug meckert irgendwie auch net rum.
Zuletzt bearbeitet: