PDA

View Full Version : brauch ich javascript?


midi
27th May 2002, 09:46
kennt wer ne gute seite oder hat jemand grad n beispiel in der hinterhand, damit ich auf einer seite ein javascript (oder macht man das mit was anderem) einbauen kann, welches herausliest, wann (datum, uhrzeit) der benutzer (_nicht der client_) das letzte mal auf einem im netzwerk gespeicherten html-dokument war. dieses js soll bei jedem aufruf ausgefuehrt werden

hat da jemand was fuer mich? emi? :)

Der_tolle_Emil
27th May 2002, 10:25
Sorry Midi, Java kann ich nicht :) Diesmal kann ich dir nicht mehr helfen.

midi
27th May 2002, 10:28
java oder javascript? ich weiss nicht mal mit was man das macht - von daher bin ich noch weniger weit als du. weiss wenigstens jemand mit was ichs machen kann? so fiele mir die suche einfacher

mal sehn

vOor
27th May 2002, 10:47
http://www.js-examples.com/

Der_tolle_Emil
27th May 2002, 10:52
Ohja sowas macht man mit JavaScript oder PHP. Du setzt den Link einfach auf das Script und des Weiteren gibst du den eigentlichen Link an das Script weiter. Das Script merkt sich einfach die Uhrzeit, setzt eine Zahl um eins weiter rauf, und linkt dann einfach weiter.

Was genau wäre bei dir der Benutzer?

midi
27th May 2002, 10:56
der benutzer/user der am client angemeldet ist... sprich es muesste ins profil geschrieben werden denk ich mir - andere loesung, die weniger schoen ist, wenn man es auf den client bezieht... ginge aber sicherlich beides

thx@voor

Ry
27th May 2002, 11:37
mit php oder perl...

wenn den benutzer haben willst.

hab sowas mal gemacht, falls dich interessierst.

midi
27th May 2002, 11:47
klor intressierts mich - wobei php wegfaellt nehm ich an, da dies meine server kaum unterstuetzen, oder?

Ry
27th May 2002, 12:18
welche denn? ich nehme an du sprichst von eurem intranet. sonst kannst das mit dem username gleich wieder vergessen. ausser die page befinde sich innerhalb eines per htaccess geschützten bereichs.

midi
27th May 2002, 13:21
jo, intranet - dachte die seite kann abfragen, wann der benutzer (nt login) das letzte mal auf der seite war

ginge das mit dem client (netbios?) besser/leichter?

Ry
27th May 2002, 14:20
ich habs so gemacht:

über das ENV die ip des clients holen, dann per system-call "nbtstat -a xxx.xxx.xxx.xxx"

wobei es dir dann in etwa sowas ausgibt:



C:\>nbtstat -a 147.78.43.64

Local Area Connection:
Node IpAddress: [147.78.43.63] Scope Id: []

NetBIOS Remote Machine Name Table

Name Type Status
---------------------------------------------
I28094 <00> UNIQUE Registered
S22221DC <00> GROUP Registered
I28094 <03> UNIQUE Registered
I28094 <20> UNIQUE Registered
S22221DC <1E> GROUP Registered
U149537 <03> UNIQUE Registered

MAC Address = 00-00-F6-7C-36-CB


C:\>




hier kannst den user dann rauslesen.

midi
28th May 2002, 10:00
hab in etwa gefunden was ich suchte :)


<html>
<BODY TEXT="#FFFFFF" LINK="#FFFFFF" VLINK="#999999" ALINK="#00FF00" BGCOLOR="#000000">
<CENTER>
<script language="JavaScript">
<!-- Hide the script from old browsers --

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();

}

var expDays = 30;
var exp = new Date();

exp.setTime(exp.getTime() + (expDays*24*60*60*1000));


function name(n){
if(n != null) {
var name = name
}

else if(GetCookie('name') != null) {
var name = GetCookie('name')
}

else {
var name = prompt("Wie ist Dein Name?",'');

if(name == null || name == "") {
name = "web surfer"
}

else {
SetCookie('name',name,exp);
}
}

return name;

}


function time() {
var days = new Array(7)
days[1] = "Sonntag";
days[2] = "Montag";
days[3] = "Dinstag";
days[4] = "Mittwoch";
days[5] = "Donnersteg";
days[6] = "Freitag";
days[7] = "Samstag";

var months = new Array(12)
months[1] = "Januar";
months[2] = "Februar";
months[3] = "März";
months[4] = "April";
months[5] = "Mai";
months[6] = "Juni";
months[7] = "Juli";
months[8] = "August";
months[9] = "September";
months[10] = "Oktober";
months[11] = "November";
months[12] = "Dezember";

var today = new Date()
var day = days[today.getDay() + 1]
var month = months[today.getMonth() + 1]
var date = today.getDate()
var year = "19" + today.getYear()

var full = day + " den " + date + " " + month + " " + year

if(GetCookie('date') != null) {
var savedate = GetCookie('date')
DeleteCookie('date')
SetCookie('date',full,exp)
return savedate
}

else {
SetCookie('date',full,exp)
return null
}
}



function amt(){


var count = GetCookie('count')

if(count == null) {
SetCookie('count','1')
return 0
}

else {
var newcount = parseInt(count) + 1;
DeleteCookie('count')
SetCookie('count',newcount,exp)
return count
}
}


function print(what) {
if(what == "name") {
return name()
}

else if(what == "date") {
if(time() == null) {
return "[Du warst noch nie hier!!]"
}
else {
return time()
}
}

else if(what == "times") {
return amt()
}

}


function process(how) {
if(how == 'newname') {
SetCookie('name',prompt('Wie ist Dein Name?',''))
location.reload()
}

else if(how == 'newprofile') {
DeleteCookie('name')
DeleteCookie('count')
DeleteCookie('date')
location.reload()
}
}
// --End Hiding Here -->
</script>

<p><!--webbot bot="HTMLMarkup" startspan --><!--webbot
bot="HTMLMarkup" endspan --></p>

<blockquote>
<blockquote>
<p><!--webbot bot="HTMLMarkup" startspan --><SPAN STYLE = "font-size:36"><!--webbot
bot="HTMLMarkup" endspan --><font color="#FFFF00"
size="7" face="Arial"><em><strong></strong></em></font><font
color="#FFFF00" size="7"><em><strong><!--webbot
bot="HTMLMarkup" startspan --></SPAN><!--webbot
bot="HTMLMarkup" endspan --></strong></em></font></p>
</blockquote>
</blockquote>

<blockquote>
<blockquote>
<blockquote>
<blockquote>
<SPAN STYLE="margin-bottom:-0.43 in;margin-top:-.45 in;font-size:48"> </blockquote>
</blockquote>
<blockquote>
<p><font color="#FF0000" size="7" face="Arial"><strong>
</strong></font></p>
</blockquote>
<blockquote>
</SPAN> <blockquote>
<p> </p>
<p> </p>
</blockquote>
</blockquote>
<blockquote>
<SPAN STYLE="margin-bottom:-0.43 in;margin-top:-.45 in;font-size:36"> <p><font color="#FFFF00" size="7" face="Arial"><em><strong>
</strong></em></font></p>
</SPAN> </blockquote>
</blockquote>
</blockquote>

<blockquote>
<blockquote>
<blockquote>
<p><!--webbot bot="HTMLMarkup" startspan --><SPAN STYLE = "font-size:48"><!--webbot
bot="HTMLMarkup" endspan --><font color="#FF0000"
size="7" face="Arial"><strong></strong></font><font
color="#FF0000" size="7"><strong><!--webbot
bot="HTMLMarkup" startspan --></SPAN><!--webbot
bot="HTMLMarkup" endspan --></strong></font></p>
</blockquote>
</blockquote>
</blockquote>
<script>document.write("Hallo <b>" + print('name') + "</b>. Du warst schon <b>" + print('times') + "</b> x hier . Das letzte Mal am <b>" + print('date') +"</b>.")
</script>
</CENTER>
</BODY>
</HTML>

Ry
28th May 2002, 10:20
Originally posted by midi
(_nicht der client_)

midi
28th May 2002, 10:33
hab beschlossen, es doch ueber den client zu machen... war mehr ein detail und ist an und fuer sich doch ned so wichtig

bin grad dabei das script oben zu verstehen... die ersten 3 zeilen sagen mir sogar schon was

Ry
28th May 2002, 11:15
username wär goil. ich sags dir, da kommen die leute ins staunen, wenn ihr username da auf der website steht :)

ich hab das mal bei nem forum im intranet verwendet. beim click auf "reply" erschien im antwort-formular beim input-field "name" der username das benutzers...da guckte noch so ein mancher recht blöd...:)

midi
28th May 2002, 11:18
welchen usernamen meinst du jetzt? ich nehm mal an, wir reden beide vom os-login und dieser ist nicht so aussagekraeftig bzw die leute hier wissen nicht mal, was ihr username ist - von daher, nicht mit verbluefft

deshalb wuerds reichen, wenn da irgendwo ein cookie auf der maschine liegt, in welchem gespeichert ist wann die seite zum letzten mal aufgerufen worden ist

Ry
28th May 2002, 11:38
axo, keiner seine bestimmte eigene userid, mit der man sich an jeder beliebigen mühle im betrieb am dc anmelden kann?

dann bringts nix, ja.

aber cookies find ich ehrlichgesagt scheisse. mach doch das über %ENV{'REMOTE_HOSTNAME'} oder %ENV{'REMOTE_ADDR'} und speicher die vorkommnisse in ner db.

fänd ich persönlich schöner als cookies. könntest dann diese daten auch gleich zu weiteren statistischen zwecken verwenden.

wenn ihr dhcp habt, dann gehst halt über REMOTE_HOSTNAME.

midi
28th May 2002, 11:54
doch doch, es meldet sich schon jeder am pdc an, jedoch waer es nicht so hittig, wenn da nachher steht 'willkommen lieber 2301, ihr letzter besucht war am xx.xx.xxxx'

Ry
28th May 2002, 12:14
ich red ja nicht mehr von dem. oder willst du den user mit namen ansprechen? dann muss er sich einfach mal einloggen...

midi
28th May 2002, 13:45
ne, nix namen... nur datum