# Rückstellbarer Tageszähler



## Dreas (12. August 2004)

Hallo,

ich muss folgende Problemstellung lösen und bin mir nicht sicher auf welchem Weg das am sinnvollsten ist.

In einem Firmenintranet soll auf einer Seite ein Counter stehen, der die Tage (und evtl. Stunden) seit dem letzten Betriebsunfall zählt.
Dieser soll aber bei Bedarf vom Sicherheitsbeauftragten ganz einfach zurückgestellt werden können. 
Da dieser aber von Programmierung, html-Editoren usw. keine Ahnung hat sollte er den Counter client-seitig (also von seinem browser aus) zurückstellen können.

Geht das? Wenn ja wie? 

Hab mir schon gedacht vielleicht eine excel-Zelle einzubinden. Die excel-Tabelle mit der Berechnung würde auf einer anderen Netwerkressource liegen wo der Beauftragte einfach Datum und Uhrzeit des letzten Unfalls eingibt. Die Ergebniszelle müsste dann in der Intranetseite angezeigt werden. 
Aber das hat sich auch als ziemlich schwierig herausgestellt.   

Wie löse ich das Problem am besten und einfachsten?


----------



## Sven Mintel (12. August 2004)

Wenn da eine serverseitige Sprache verfügbar ist, ist das kein Problem.

Stelle ihm eine Seite mit einem Formular zur Verfügung, wo er das Datum einträgt(natürlich nach Authentifizierung).

Das Formular wird dann an ein Skript gesendet, welche das Datum an den rechten Platz schreibt....z.B. in eine Javascript-Datei oder direkt in das HTML-Dokument.


----------



## Dreas (12. August 2004)

Öh,

gibts sowas schon vorgefertigt irgendwo?
Ich glaub das würd ich alleine nicht hinbekommen.

Der Counter an sich läuft mit Javascript im Moment.


```
<font size="4" face="Verdana">Es sind bereits</font></p></td>
	</tr>
	<tr>
		<td align="center">
		<div align="left">
	<table width=100% cellpadding=0 cellspacing=0 border=0 id="table13"><tr>
	<td valign=top>
	<p align="center"><font size="5">&nbsp;<script language="JavaScript1.2">

function setcountup(theyear,themonth,theday){
yr=theyear;mo=themonth;da=theday
}

//////////HIER KANN DIE ANZEIGE KONFIGURIERT WERDEN//////////////////

//SCHRITT 1: HIER EINGEBEN: (JAHR,MONAT,TAG) AB WANN GEZÄHLT WERDEN SOLL:
setcountup(2004,8,7)

//SHRITT 2: ALTENATIVEN TEXT EINGEBEN:
var displaymessage=""

//SCHRITT 3: ERSCHEINUNG KONFIGURIEREN: width, height, background color, text style
var countupwidth='95%'
var countupheight='20px' //applicable only in NS4
var countupbgcolor='white'
var opentags='<font face="Verdana" color="#FF0000"><small>'
var closetags='</small></font>'

//////////AB HIER NICHTS VERÄNDERN//////////////////

var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
var crosscount=''

function start_countup(){
if (document.layers)
document.countupnsmain.visibility="show"
else if (document.all||document.getElementById)
crosscount=document.getElementById&&!document.all?document.getElementById("countupie") : countupie
countup()
}

if (document.all||document.getElementById)
document.write('<span id="countupie" style="width:'+countupwidth+'; background-color:'+countupbgcolor+'"></span>')

window.onload=start_countup


function countup(){
var today=new Date()
var todayy=today.getYear()
if (todayy < 1000)
todayy+=1900
var todaym=today.getMonth()
var todayd=today.getDate()
var todayh=today.getHours()
var todaymin=today.getMinutes()
var todaysec=today.getSeconds()
var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
paststring=montharray[mo-1]+" "+da+", "+yr
dd=Date.parse(todaystring)-Date.parse(paststring)
dday=Math.floor(dd/(60*60*1000*24)*1)
dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)

if (document.layers){
document.countupnsmain.document.countupnssub.document.write(opentags+dday+" Tage"+" und "+dhour+" Stunden "+displaymessage+closetags)
//document.countupnsmain.document.countupnssub.document.write(opentags+"Es sind bereits "+dday+" Tage"+" und "+dhour+" Stunden "+"seit der letzten Unfallmeldung vergangen"+displaymessage+closetags)
//" days, "+dhour+" hours, "+dmin+" minutes, and "+dsec+" seconds "+
//displaymessage+closetags)
document.countupnsmain.document.countupnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+dday+" Tage"+" und "+dhour+" Stunden "+displaymessage+closetags
//crosscount.innerHTML=opentags+"Es sind bereits "+dday+" Tage"+" und "+dhour+" Stunden "+"seit der letzten Unfallmeldung vergangen"+displaymessage+closetags
//" Tage, "+dhour+" Stunden, "+dmin+" Minuten und "+dsec+" Sekunden "+
//displaymessage+closetags

setTimeout("countup()",1000)
}
</script></div></font></table>

		</td>
	</tr>
	<tr>
		<td align="center"><font face="Verdana" size="4">seit der letzten 
		Unfallmeldung vergangen</font></td>
	</tr>
```

Ich brauche also ein Formular z.B. auf dieser Seite, in dem das Datum eingegeben wird und das Formular sendet das Datum dann an die Stelle unter Schritt1?
Wie mache ich das denn genau?
Für den Zugriff auf den Quelltext der Seite muss man ja Zugriff auf den Server haben. Dieses erfordert Benutzername und pw. 
Kannst Du mir bitte beschreiben wie das geht. 
In den Formulareigenschaften dann an ein benutzerdefiniertes script senden (Frontpage)?
Wie muss das script dann aussehen und wo muss das hin?


----------



## Sven Mintel (13. August 2004)

Das käme drauf an, was da auf dem Server läuft.

Wie das mit FP laufen könnte,und ob es da überhaupt geht,kann ich dir nicht sagen 

...es gibt da unzählige Herangehensweisen,...dazu muss man aber eben die Vorraussetzungen kennen.


----------



## itseit (13. August 2004)

versuche es doch mit PHP


----------



## Dreas (13. August 2004)

Es ist keine Sprache auf dem Server vorhanden.

Geht das vielleicht auch mit javascript?

Einfach ein Textfeld in die Seite bauen, wo der string (Datum) eingegeben werden kann.
Mit abschicken-button.
Der string wird dann automatisch an diese Stelle geschrieben:

setcountup(2004,8,7) 

Allerdings kann ich sowas nicht programmieren.
Ist das, wenn es möglich ist, schwer zu realisieren?


----------



## xxenon (13. August 2004)

Mit JavaScript allein ist es nicht möglich irgendetwas irgendwohin zu speichern. Dazu brauchst du eine serverseitige Skriptsprache, welche spielt keine Rolle.


----------

