Datenschutzerklärung

Cookie für Benutzereingabe in javascript ?

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / Javascript-Forum /

Cookie für Benutzereingabe in javascript ?

  Beitrag schreiben
Autor
Beitrag Seiten: 1
maik3531
Mitglied

Registriert: 29.06.2007
Beiträge: 3
Hallo,

Ich habe mich aus reiner Verzweiflung hier angemeldet. Ich bin sozusagen ein totaler Nob was javacript angeht.

Ich habe eine Webseite bei der die Besucher durch

" <script type='text/javascript'>
<!--
n=window.prompt("Wie darf ich Sie nennen? Tragn Sie ihren Namen ein:","Gast");
document.write("<center><h2><strong>Hallo "+n+"<br />Schön, das Sie diese Community Server Seite besuchen! </strong></h2></center>");
//-->
</script> "

zur Eingabe ihres Namens aufgefordert werden. Das Problem ist das einige Besucher öfter vorbei schauen und nun nicht jedesmal dieses Fenster erscheinen soll. Ich habe zwar schon einige Seite gefunden wie man ein Cookie dafür anlegen könnte aber wie bereits gesagt bin ich dazu nicht in der Lage, alle versuch schlugen fehl. Könnte jemand dieses javascript abändern und posten ?

Allerbesten Dank schon mal.
MfG. maik3531


29.06.2007 10:15:54
  Zitieren
dkdenz
Administrator

Ort: Lübeck
Registriert: 25.04.2005
Beiträge: 605
Wieso muss ein Besucher überhaupt seinen Namen eingeben?
Welchen Zweck verfolgst Du damit?
Müssen Suchmaschinen auch ihren Namen eingeben?


_______________________________________
Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.0.14eol) Gecko/20080418 Ubuntu/dapper-security Firefox/1.5.0.12eol

29.06.2007 14:15:00
http://dkmd.de | http://dkdenz.de Zitieren
maik3531
Mitglied

Registriert: 29.06.2007
Beiträge: 3
Hallo dkdenz, ich habe unter maik3531.de ein Community Projekt für das deutschsprachige PCLinuxOS laufen wo ich erstellte RPM's zum Download bzw. über Synaptic anbiete. Um das ganze etwas freundlicher zu gestalten wird beim Aufruf der Webseite der Name erfragt und im laufenden Text wird diese Person dann mit ihren angegebenen Namen angesprochen. Soweit funktioniert es auch nur sobald eine Person die Seite erneut aufruft wird wieder nach den Name gefragt. Daher wollte ich das der Name für z.B. 5 Tage in einem Cookie gespeichert wird.

Also es geht lediglich darum das ganze höflich und Benutzerfreundlich zu machen. :-)

MfG. maik3531


29.06.2007 14:32:48
  Zitieren
maik3531
Mitglied

Registriert: 29.06.2007
Beiträge: 3
OK habe das Problem gelöst falls noch mal jemand das selbe hat hier das script:



<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 darf ich Sie nennen?", "Gast");
                        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 darf ich Sie nennen?", "Gast");
        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>

<SCRIPT LANGUAGE="JavaScript"> <!--
        document.write("<center><h2><strong>Hallo " + Who() + "<br /> schön, das Sie diese Community Server Seite besuchen! <br /></h2> Sie waren schon " + Count() + " mal hier.</SIZE=8></strong></center>")
//-->
</script>



MfG. maik3531


29.06.2007 17:37:14
  Zitieren
marlo
Mitglied

Ort: Wien
Registriert: 07.06.2007
Beiträge: 73
Habe wenig Erfahrung mit COOKIES über JS. Wenn die Möglichkeit besteht PHP ins Spiel zu bringen könnte ich dir weiterhelfen. Unterstütz der Server PHP? Läuft irgendetwas bereits in PHP in deinem Projekt?

UPPS, habe überlesen dass du dein Problem schon gelöst hast. Trotzdem würde ich dir die PHP-Variante empfehlen!

Beitrag geändert von marlo (06.07.2007 18:39:55)


06.07.2007 18:32:06
http://www.webcomplete.at Zitieren
Seiten: 1   Beitrag schreiben
Wechsel zu

Die letzten Beiträge aus diesen Forum

Valid HTML 4.01