hilfdirselbst.ch
Facebook Twitter gamper-media

"Geht nicht" ist keine gültige Fehlermeldung!

« « 1 2 » »  
Hanü
Beiträge: 219
26. Okt 2002, 21:55
Beitrag #1 von 23
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


Mit SSI kann man ja das Datum auf einer HTML-Seite anzeigen. Ich hab jetzt den Provider gewechselt und bin deshalb grad am rumprobieren.

Bei <!--#echo var="DATE_LOCAL" --> erhält man ja das komplette Datum. Allerdings auf Englisch (z.B. Saturday, June,...) Wie kann man das auf deutsch anzeigen lassen (ohne JavaScript!), dass am Ende z.B. sowas dasteht wie

Heute ist Samstag, der 26. Oktober 2002. Es ist jetzt 22:00 Uhr.

GrEeZ und bis demnächst, hab jetzt viel Neues zu erkunden, bei dem ich sicher Hilfe brauche! Andreas




Jetzt ist erst mal Zeit für den Winterschlaf...
[ Das Lexikon der Trinksprüche ]
Ab 2003 wieder online! Top
 
X
SabineP  M 
Beiträge: 7586
27. Okt 2002, 00:12
Beitrag #2 von 23
Beitrag ID: #14808
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


Andreas, ich fürchte das wird nichts mit <!--#echo var="DATE_LOCAL" -->.
Wenn Dein Webserver ein englisches Datumsformat ausgibt (Apache?),
dann kannst Du nur Deinen Provider fragen, ob er daran etwas ändern kann.

Natürlich läßt sich das Datum auch mit Perl in der gewünschten Form ausgeben.

Möglich wäre so eine Variante:
<!--#exec cgi="/cgi-bin/datum.pl" -->

Wie die datum.pl für diesen Fall aussehen sollte, muß ich erstmal testen.

Grüße von Sabine
als Antwort auf: [#14804]
(Dieser Beitrag wurde von SabineP am 27. Okt 2002, 00:30 geändert)
Top
 
Ollli
Beiträge: 458
27. Okt 2002, 02:04
Beitrag #3 von 23
Beitrag ID: #14811
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


Wenn ich einen Vorschlag machen darf? :-)

Code
#!/usr/bin/perl

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday, $isdst) = localtime(time);
$year = $year+1900;

if ($min < 10) {
$min = "0$min";
}
if ($hour < 10) {
$hour = "0$hour";
}

@tag = ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
@monat = ("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");

print "Heute ist $tag[$wday], der $mday. $monat[$mon] $year. Es ist jetzt $hour:$min Uhr.";


@Sabine
Sorry, aber ich fand das Thema interessant und hab das da gleichmal ausprobiert. :-)
Vielleicht hast du aber eine bessere Lösung?!

@Hanü
Es müsste jetzt eigentlich so rauskommen, wie du wolltest. :-)

Ollli
als Antwort auf: [#14804] Top
 
SabineP  M 
Beiträge: 7586
27. Okt 2002, 11:42
Beitrag #4 von 23
Beitrag ID: #14824
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


Ollli, ich habe da auch keine bessere Lösung, Dein Script ist perfekt. :-)

Damit der Browser die Zeit anzeigen kann brauchen wir nur noch den Content-type.

print "Content-type: text/html\n\n";
print "Heute ist $tag[$wday], der $mday. $monat[$mon] $year. Es ist jetzt $hour:$min Uhr.";

Um die Zeit in jeder beliebigen HTML-Seite anzuzeigen, reicht dann diese Zeile aus:
<!--#exec cgi="/pfad/datum.pl"-->

... und nicht vergessen, die HTML-Seiten als *.shtml speichern.

Grüße von Sabine

als Antwort auf: [#14804]
(Dieser Beitrag wurde von SabineP am 27. Okt 2002, 11:45 geändert)
Top
 
Ollli
Beiträge: 458
27. Okt 2002, 12:47
Beitrag #5 von 23
Beitrag ID: #14826
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


> Damit der Browser die Zeit anzeigen kann brauchen wir nur noch den Content-type.
> print "Content-type: text/html\n\n";

Siehste, das hatte ich nicht mehr so genau gewusst - THX!

Ollli
als Antwort auf: [#14804] Top
 
Hanü
Beiträge: 219
27. Okt 2002, 13:42
Beitrag #6 von 23
Beitrag ID: #14830
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


Da ich jetzt erst die Möglichkeit zu Perl und PHP habe, hab ich neben eurem Perl-Beispiel auch mal nach einer Lösung mit PHP gesucht - und bin fündig geworden ( http://www.schattenbaum.net/php/datum2.php )

Ich hab mir diesen PHP-Anfängerlehrgang mal durchgelesen, und muss sagen, soviele unterschiede zu Perl gibt es da ja gar nicht. Abgesehen von einigen anderen Deklarierungen sind sich PHP und Perl doch sehr ähnlich. Da fragt sich nur, was für die eigene Seite besser geeignet ist.

Da frag ich mich... warum bevorzugt ihr Perl? Ist der Code besser geschützt, seid ihr damit eingestiegen und dran hängengeblieben, findet ihr das einfacher, oder...???

Machen kann man damit ja so ziemlich das selbe wie mit PHP, oder nicht? Wann ist was besser geeignet?

Gruß und Danke!
Andreas


Jetzt ist erst mal Zeit für den Winterschlaf...
[ Das Lexikon der Trinksprüche ]
Ab 2003 wieder online!
als Antwort auf: [#14804] Top
 
Ollli
Beiträge: 458
27. Okt 2002, 14:32
Beitrag #7 von 23
Beitrag ID: #14832
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


Also mit PHP geht das mit dem Datum einfacher, soweit ich mich erinnern kann.

Erstmal hast du Recht, dass es zwischen PHP und Perl rein vom Code nicht so viele gravierende Unterschiede gibt. Von der Funktion her müsstest du mal Miro fragen ;-)
Ich selber bin mit Perl eingestiegen und habe es auch nicht bereut. Perl ist meiner Meinung nach gut um fix einen Formmailer zu machen, oder auch ein GB, was auf einer Text-Datei basiert. Außerdem ist Perl besser bei der System-Programmierung, welche ich auch etwas ausübe, da ich einen Linux-Server habe. Zudem kann man mit Hilfe des Moduls TK auch unter Windows eine Fenster-Applikation erzeugen.
Ich finde auch, dass das Array-Management bei Perl besser ist als bei PHP, zumindest in mehrdimensionalen, assoziativen Arrays komme ich in Perl besser klar als in PHP, kann allerdings auch an mir liegen. ;-)

Naja und PHP vereinfacht teilweise die Programmierung durch die vielen Funktionen, die es beinhaltet. Ich ziehe PHP gerade in Verbindung mit MySQL vor, da es dafür einfach leichter zu bedienen ist. Zudem macht es sich gut, wenn man den Programmcode gleich in das HTML einbetten kann.
Allerdings brauchste für PHP (fast) immer einen Webserver um es zu testen ;-)

So, das ist meine Meinung (in Kurzform).

Ollli
als Antwort auf: [#14804] Top
 
Anonym
Beiträge: 22827
30. Okt 2002, 19:53
Beitrag #8 von 23
Beitrag ID: #15172
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


Ich hab dein Skript jetzt mal auf'm Server ausprobiert, aber irgendwie krieg ich es nich zum laufen (ich denk aber, es liegt im Moment noch daran, dass der KK noch nicht ganz abgeschlossen ist). Dennoch hab ich zum Skript Fragen:

Zitat
Code
#!/usr/bin/perl

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday, $isdst) = localtime(time);
$year = $year+1900;

if ($min < 10) {
$min = "0$min";
}
if ($hour < 10) {
$hour = "0$hour";
}

@tag = ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
@monat = ("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");

print "" (des html/text-Zeugs)
print "Heute ist $tag[$wday], der $mday. $monat[$mon] $year. Es ist jetzt $hour:$min Uhr.";



Was machst du mit den ersten Befehlen?

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday, $isdst) = localtime(time);
$year = $year+1900;
if ($min < 10) {
$min = "0$min";
}
if ($hour < 10) {
$hour = "0$hour";
}

den versteh ich (noch) nicht ganz (Anfänger halt)?!?!?!

Was danach kommt kann ich nachvollziehen, du legst die Namen in einem Array fest und gibst dann die in den $-Variablen festgelegten Werte aus.

Bitte um kleine Erläuterung zum besseren Nachvollziehen :))
Danke! Gruß Andreas (ich denke, ich werde die Perl-Lösung auf der Website verwenden)
als Antwort auf: [#14804] Top
 
SabineP  M 
Beiträge: 7586
30. Okt 2002, 21:51
Beitrag #9 von 23
Beitrag ID: #15179
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


Hallo Andreas, hier die Erläuterung zum Script (schwitz):

#!/usr/bin/perl
($sec,$min,$hour,$mday,$mon,$year,$wday, $yday,$isdst) = localtime(time);

# Wandelt die Zeit der Funktion "time" in eine Liste mit 9 Elementen um.
# Die Funktion "time" liefert die Systemzeit des Betriebssystems auf dem Perl gerade ausgeführt wird.

$year = $year+1900;
# In der Variable $year ist die Anzahl der Jahre seit 1900 gespeichert.
# Die korrekte Weise, ein komplettes 4-stelliges Jahr zu erhalten wäre laut Perl-Doku so:
# $year += 1900;
# so wie es oben steht gehts natürlich auch

if ($min < 10) {
$min = "0$min";
}
# wenn Anzahl der Minuten kleiner 10, dann male davor eine Null (führende Null)

if ($hour < 10) {
$hour = "0$hour";
}
# wenn Anzahl der Stunden kleiner 10, dann male davor eine Null (führende Null)

@tag = ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
# die Liste (Array) der deutschen Wochentage

@monat = ("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
# die Liste (Array) der deutschen Monate

print "Content-type: text/html\n\n";
# Hier erfährt der Webserver, daß das Script jetzt HTML-Code ausgeben möchte.

print "Heute ist $tag[$wday], der $mday. $monat[$mon] $year. Es ist jetzt $hour:$min Uhr.";
# zum Beispiel:
# Falls gerade Mittwoch ist, steht in der Variable $wday eine 3.
# Daraufhin wird der 4. Tag aus @tag ausgegeben.
# Wenn in $wday eine 0 steht wird der Sonntag ausgegeben.
# usw.

Grüße von Sabine
als Antwort auf: [#14804] Top
 
Hanü
Beiträge: 219
30. Okt 2002, 22:06
Beitrag #10 von 23
Beitrag ID: #15186
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


ok, das hab ich jetzt soweit kapiert. war nur verwirrend, weil ich nicht mehr dran gedacht hab, das die funktion time bei Perl was anderes als Ergebnis liefert, als die entsprechende Funktion bei SSI bzw. PHP. bin halt durcheinandergekommen (das kommt davon, wenn man alles auf einmal ausprobieren / lernen will :)

Funktionieren tut es bei mir trotzdem nicht. Hab das Skript als datum.pl gespeichert, in den Ordner CGI-BIN gepackt und eine SHTML Seite erstellt, die den SSI-Kommentar enthält <!--#exec cgi="/cgi-bin/datum.pl"--> (liegt im root). Die datum.pl hat 755 als Rechte und der Pfad zu Perl stimmt auch. Nur wird auf der Seite im Browser nichts ausgegeben (zunächst kam ne Fehlermeldung, weil ich <!--#exec cgi="/cgi-bin/datum.ol"--> geschrieben hatte, und jetzt kommt gar nix mehr.

Wie gesagt, ich vermute, es liegt dran, dass der kk noch net ganz abgeschlossen ist. ich hab zwar schon den neuen Webspace und unter einer seltsamen Adresse auch schon Zugriff darauf, aber die eigentliche Domain (URL) wurde noch nicht an den neuen Hoster übertragen... mal sehen, wie's aussieht, wenn der KK fertig ist. wenns dann immer noch net läuft, poste ich mal die Adresse...

Gruß Andreas
Jetzt ist erst mal Zeit für den Winterschlaf...
[ Das Lexikon der Trinksprüche ]
Ab 2003 wieder online!
als Antwort auf: [#14804] Top
 
Hanü
Beiträge: 219
6. Nov 2002, 17:48
Beitrag #11 von 23
Beitrag ID: #15724
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


So, der KK scheint endlich fertig zu werden. Ich habe gleich mal auf der oberten Datei (index.shtml) im Root verucht, das datum.pl mit einzubinden. Was daraus wird, solltet ihr hier sehen:

//edit:
URLs stimmen nicht mehr, deshalb entfernt
//end

Was ist falsch???
Gruß Andreas



Jetzt ist erst mal Zeit für den Winterschlaf...
[ Das Lexikon der Trinksprüche ]
Ab 2003 wieder online!
als Antwort auf: [#14804]
(Dieser Beitrag wurde von Hanü am 10. Dez 2002, 02:03 geändert)
Top
 
SabineP  M 
Beiträge: 7586
6. Nov 2002, 18:08
Beitrag #12 von 23
Beitrag ID: #15727
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


Deine datum.pl geht nicht.

http://www.hanue.de/cgi-bin/datum.pl
http://web330.businessbox2.server-home.net/cgi-bin/datum.pl

Was steht da drin?
Hat die datum.pl chmod 755?
als Antwort auf: [#14804] Top
 
Anonym
Beiträge: 22827
6. Nov 2002, 20:39
Beitrag #13 von 23
Beitrag ID: #15738
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


Ja, sie hat 755 als Rechte. Das steht drin:

<?
$tage = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
$tag = date("w");

$datum = date("d");

$monate = array(1=>"Januar",2=>"Februar",3=>"März",4=>"April",5=>"Mai", 6=>"Juni",7=>"Juli",8=>"August",9=>"September",10=>"Oktober", 11=>"November",12=>"Dezember");
$monat = date("n");

$jahr = date("Y");

echo "$tage[$tag], $datum. $monate[$monat] $jahr";
?>
als Antwort auf: [#14804] Top
 
Hanü
Beiträge: 219
6. Nov 2002, 20:44
Beitrag #14 von 23
Beitrag ID: #15739
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


Halt, Medung zurück, das steht drin:

#!/usr/bin/perl

($sec,$min,$hour,$mday,$mon,$year,$wday, $yday,$isdst) = localtime(time);
$year = $year+1900;

if ($min < 10) {
$min = "0$min";
}
if ($hour < 10) {
$hour = "0$hour";
}

@tag = ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
@monat = ("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");

print "Content-type: text/html\n\n";
print "$tag[$wday], der $mday. $monat[$mon] $year";
_____________________________________________________

Hab mich grad vertan. Anmerkung an HDS.CH - wann kommen endlich die Cookies, dass man sich nicht jedesmal einloggen muss / die Favoriten benutzen muss. Wäre ganz geschickt, gerade dann, wenn man - so wie ich - einen Threat aus einer Antwortmail aus öffnet...

Gruß Andreas
als Antwort auf: [#14804]
(Dieser Beitrag wurde von Hanü am 13. Aug 2004, 13:52 geändert)
Top
 
Hanü
Beiträge: 219
6. Nov 2002, 20:49
Beitrag #15 von 23
Beitrag ID: #15740
Bewertung:
(4634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[SSI] Deutsche Datumsangabe


Ich habe nochmal nachgeschaut und die datum.pl vom Perl-Debugger überprüfen lassen. Das kam dabei raus:

Name "main::sec" used only once: possible typo at [..]/cgi-bin/datum.pl line 3.
Name "main::isdst" used only once: possible typo at [..]/cgi-bin/datum.pl line 3.
Name "main::yday" used only once: possible typo at [..]/cgi-bin/datum.pl line 3.
[..]/cgi-bin/datum.pl syntax OK

Hilft das irgendwie weiter? Denke nicht...
Jetzt ist erst mal Zeit für den Winterschlaf...
[ Das Lexikon der Trinksprüche ]
Ab 2003 wieder online!
als Antwort auf: [#14804]
(Dieser Beitrag wurde von Hanü am 10. Dez 2002, 02:06 geändert)
Top
 
« « 1 2 » »  
X