Connect failed: Connection timed out

[GastForen Archiv Perl und CGI [SSI] Deutsche Datumsangabe

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

[SSI] Deutsche Datumsangabe

Hanü
Beiträge gesamt: 219

26. Okt 2002, 21:55
Beitrag # 1 von 23
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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!
X

[SSI] Deutsche Datumsangabe

SabineP
Beiträge gesamt: 7586

27. Okt 2002, 00:12
Beitrag # 2 von 23
Beitrag ID: #14808
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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)

[SSI] Deutsche Datumsangabe

Ollli
Beiträge gesamt: 458

27. Okt 2002, 02:04
Beitrag # 3 von 23
Beitrag ID: #14811
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

[SSI] Deutsche Datumsangabe

SabineP
Beiträge gesamt: 7586

27. Okt 2002, 11:42
Beitrag # 4 von 23
Beitrag ID: #14824
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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)

[SSI] Deutsche Datumsangabe

Ollli
Beiträge gesamt: 458

27. Okt 2002, 12:47
Beitrag # 5 von 23
Beitrag ID: #14826
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> 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]

[SSI] Deutsche Datumsangabe

Hanü
Beiträge gesamt: 219

27. Okt 2002, 13:42
Beitrag # 6 von 23
Beitrag ID: #14830
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

[SSI] Deutsche Datumsangabe

Ollli
Beiträge gesamt: 458

27. Okt 2002, 14:32
Beitrag # 7 von 23
Beitrag ID: #14832
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

[SSI] Deutsche Datumsangabe

Anonym
Beiträge gesamt: 22827

30. Okt 2002, 19:53
Beitrag # 8 von 23
Beitrag ID: #15172
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

[SSI] Deutsche Datumsangabe

SabineP
Beiträge gesamt: 7586

30. Okt 2002, 21:51
Beitrag # 9 von 23
Beitrag ID: #15179
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

[SSI] Deutsche Datumsangabe

Hanü
Beiträge gesamt: 219

30. Okt 2002, 22:06
Beitrag # 10 von 23
Beitrag ID: #15186
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

[SSI] Deutsche Datumsangabe

Hanü
Beiträge gesamt: 219

6. Nov 2002, 17:48
Beitrag # 11 von 23
Beitrag ID: #15724
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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)

[SSI] Deutsche Datumsangabe

SabineP
Beiträge gesamt: 7586

6. Nov 2002, 18:08
Beitrag # 12 von 23
Beitrag ID: #15727
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

[SSI] Deutsche Datumsangabe

Anonym
Beiträge gesamt: 22827

6. Nov 2002, 20:39
Beitrag # 13 von 23
Beitrag ID: #15738
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

[SSI] Deutsche Datumsangabe

Hanü
Beiträge gesamt: 219

6. Nov 2002, 20:44
Beitrag # 14 von 23
Beitrag ID: #15739
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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)

[SSI] Deutsche Datumsangabe

Hanü
Beiträge gesamt: 219

6. Nov 2002, 20:49
Beitrag # 15 von 23
Beitrag ID: #15740
Bewertung:
(9675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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)
X