Lars: namentliche Begrüßung mit cookies????

Hi,

zunächst muß ich wohl gestehen, daß ich nicht die leiseste Ahnung habe wie cookies arbeiten.

Dennoch möchte ich einen einsetzen:

Ich würde es gerne so einrichten, daß ein Besucher, wenn er das erste Mal auf meiner Seite ist, seinen Namen eingeben muß. Bei seinem nächsten Besuch soll er mit seinem Namen begrüßt werden (bsp.: Guten Tag "Fritzchen"!)... (das Problem mit der tageszeitabhängigen Begrüßung werde ich wohl auf später vertagen müssen :-)

Es wäre sehr nett, wenn mir jemand bei der Lösung dieses Problems behilflich sein könnte!!!

Gruß
Lars

  1. Ich würde es gerne so einrichten, daß ein Besucher, wenn er das erste Mal auf meiner Seite ist, seinen Namen eingeben muß. Bei seinem nächsten Besuch soll er mit seinem Namen begrüßt werden (bsp.: Guten Tag "Fritzchen"!)... (das Problem mit der tageszeitabhängigen Begrüßung werde ich wohl auf später vertagen müssen :-)

    Nimm einen gut gemeinten Rat an und schlag Dir die Idee aus dem Kopf. Denn was haben Du oder der Besucher davon? Das er Fritzchen heißt weiß er selber und es hat ihn nur Zeit (und somit Geld) gekostet seinen Namen einzugeben. Außerdem benutzt fast jede private Seite diese (meiner Meinung nach) vollkommen sinnlose Spielerei.

    Aber wenn Du es unbedingt einbinden willst, hier der Source Code:

    <SCRIPT LANGUAGE = "JavaScript">

    var expDays = 30;
    var exp = new Date();
    exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

    function Who(info){
            // Who
                    var VisitorName = GetCookie('VisitorName')
                    if (VisitorName == null) {
                            VisitorName = prompt("Wie heißt du?", "Claudia Schiffer");
                            SetCookie ('VisitorName', VisitorName, exp);
                    }

    return VisitorName;
    }

    function When(info){
            // When
                    var rightNow = new Date()
                    var WWHTime = 0;
                    WWHTime = GetCookie('WWhenH')
                    
                    WWHTime = WWHTime * 1
                    var lastHereFormatting = new Date(WWHTime);  // Date-i-fy that number
                    var intLastVisit = (lastHereFormatting.getYear() * 10000)+(lastHereFormatting.getMonth() * 100) + lastHereFormatting.getDate()
                    var lastHereInDateFormat = "" + lastHereFormatting;  // Gotta use substring functions
                    var dayOfWeek = lastHereInDateFormat.substring(0,3)
                    var dateMonth = lastHereInDateFormat.substring(4,11)
                    var timeOfDay = lastHereInDateFormat.substring(11,16)
                    var year = lastHereInDateFormat.substring(23,25)
                    var WWHText = dayOfWeek + ", den " + dateMonth + " um " + timeOfDay // display

    SetCookie ("WWhenH", rightNow.getTime(), exp)

    return WWHText;
    }

    function Count(info){
            var psj=0;
            // How many times
                    var WWHCount = GetCookie('WWHCount')
                    if (WWHCount == null) {
                            WWHCount = 0;
                    }
                    else{
                            WWHCount++;
                    }
                    SetCookie ('WWHCount', WWHCount, exp);

    return WWHCount;
    }

    function set(){
            VisitorName = prompt("Wie heißt du?", "Claudia Schiffer");
            SetCookie ('VisitorName', VisitorName, exp);
            SetCookie ('WWHCount', 0, exp);
            SetCookie ('WWhenH', 0, exp);
    }

    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 = (argc > 2) ? argv[2] : null;  
            var path = (argc > 3) ? argv[3] : null;  
            var domain = (argc > 4) ? argv[4] : null;  
            var secure = (argc > 5) ? 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 DeleteCookie (name) {  
            var exp = new Date();  
            exp.setTime (exp.getTime() - 1);  
            // This cookie is history  
            var cval = GetCookie (name);  
            document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();

    }
    //  End Script -->

    </script>

    Dann mußt du noch:
    <script>
            document.write("Hallo <b>" + Who() + "</b>. Du warst schon <b>" + Count() + "</b> mal hier. Letztes Mal warst du am <b>" + When() +"</b> da.")
    </script>

    an der Stelle einbinden, wo die Informationen erscheinen sollen. (es sind ein paar mehr, als Du wolltest, aber die kannst Du ja rauslöschen)
    Nun noch ein Rat:
    Überleg Dir die Sache nochmal :))
    Viel Spass
    Benedikt

    1. Nun noch ein Rat:
      Überleg Dir die Sache nochmal :))
      Viel Spass
      Benedikt

      Hi Benedikt,

      Du hast völlig Recht und diese namentliche Begrüßung ist völlig Affig!!!! Dennoch möchte ich damit experimentieren und sehen, was man für Späße damit machen kann... (gerade weil es so blöd ist :-))

      Ich danke Dir auf jeden Fall, daß Du mir trotzdem den Code geschrieben hast!!!!

      Gruß
      Lars