Datum / Uhrzeit im CGI-Anmeldescript

Fragen und Tipps & Tricks zur Newsletter Software SuperMailer oder zum BirthdayMailer

Moderatoren: mirko, Wolfi

Antworten
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Scriptcode immer in einen [ code ] und [ /code ] Block kopieren (die Leerzeichen vor und nach code weglassen), ansonsten wird die Darstellung teilweise kaputt gemacht. Etwaige Backslahs \\ immer doppelt \\\\ angeben, damit diese dargestellt werden.
5zu7.de
Beiträge: 5
Registriert: 03.02.2008, 09:45
Kontaktdaten:

Beitrag von 5zu7.de »

Hallo Mirko,

für alle die es interessiert, hier der gesamte CGI-Code für die Darstellung von Datum/Zeit im Format 2008-02-04 - 08:48:

...
# Datum ermitteln
sub GetTime
{
@Days = (\'Sonntag\',\'Montag\',\'Dienstag\',\'Mittwoch\',\'Donnerstag\',\'Freitag\',
\'Samstag\');
@Months = (\'01\',\'02\',\'03\',\'04\',\'05\',\'06\',\'07\',\'08\',\'09\',\'10\',\'11\',\'12\');

($Sec, $Min, $Hour, $MonthDay, $Month, $Year, $WeekDay, $YearDay, $IsDST)
= localtime (time);
if ($Hour < 10)
{
{$Hour = \"0$Hour\";}
}
if ($Min < 10)
{
{$Min = \"0$Min\";}
}
if ($MonthDay < 10)
{
{$MonthDay = \"0$MonthDay\";}
}

$Year = $Year + 1900;

$Time = \"$Year-$Months[$Month]-$MonthDay - $Hour:$Min\";
}
# Ende Datum ermitteln
$message .= \"IP: \".$ENV{REMOTE_ADDR}.\"n\";
$message .= \"Site: \".$ENV{HTTP_HOST}.\"n\";
GetTime();
$message .= \"Datum: \".$Time.\"n\";

# Versenden der Mail
...
5zu7.de
Beiträge: 5
Registriert: 03.02.2008, 09:45
Kontaktdaten:

Beitrag von 5zu7.de »

Hallo Mirko,

besten Dank. Funktioniert jetzt:

06:27 Uhr am Montag, Februar 4, 2008

Das Ergebnis sollte allerdings so aussehen:
2008-02-04 - 06:27
Zuletzt geändert von 5zu7.de am 04.02.2008, 06:35, insgesamt 1-mal geändert.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

musst natürlich GetTime noch VOR der Nutzung der $Time Variabeln aufrufen.

also vor $message .= \"Datum: \".$Time.\"n\";

GetTime();
5zu7.de
Beiträge: 5
Registriert: 03.02.2008, 09:45
Kontaktdaten:

Beitrag von 5zu7.de »

Hallo Mirko,

habe das Script jetzt wie folgt ergänzt:

Code: Alles auswählen

# Datum ermitteln
sub GetTime 
{
  @Days = (\'Sonntag\',\'Montag\',\'Dienstag\',\'Mittwoch\',\'Donnerstag\',\'Freitag\', 
    \'Samstag\');
  @Months = (\'Januar\',\'Februar\',\'März\',\'April\',\'Mai\',\'Juni\',\'Juli\',
    \'August\',\'September\',\'Oktober\',\'November\',\'Dezember\');

  ($Sec, $Min, $Hour, $MonthDay, $Month, $Year, $WeekDay, $YearDay, $IsDST) 
    = localtime (time);
  if ($Hour < 10) 
  {
    {$Hour = "0$Hour";}
  }
  if ($Min < 10) 
  {
    {$Min = "0$Min";}
  }

  $Year = $Year + 1900;
  
  $Time = "$Hour:$Min Uhr am $Days[$WeekDay], $Months[$Month] $MonthDay, $Year";
} 
# Datum ermitteln
$message .= "IP: ".$ENV{REMOTE_ADDR}."n";
$message .= "Site: ".$ENV{HTTP_HOST}."n";
$message .= "Datum: ".$Time."n";
Das Script löst zwar keine Fehlermeldung aus, aber das Datum wird nicht übermittelt.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Hier eine Funktion aus einem meiner alten Scripte. In $Time steht nach dem Aufruf Datum/Uhrzeit.

Code: Alles auswählen


sub GetTime 
{
  @Days = (\'Sonntag\',\'Montag\',\'Dienstag\',\'Mittwoch\',\'Donnerstag\',\'Freitag\', 
    \'Samstag\');
  @Months = (\'Januar\',\'Februar\',\'März\',\'April\',\'Mai\',\'Juni\',\'Juli\',
    \'August\',\'September\',\'Oktober\',\'November\',\'Dezember\');

  ($Sec, $Min, $Hour, $MonthDay, $Month, $Year, $WeekDay, $YearDay, $IsDST) 
    = localtime (time);
  if ($Hour < 10) 
  {
    {$Hour = "0$Hour";}
  }
  if ($Min < 10) 
  {
    {$Min = "0$Min";}
  }

  $Year = $Year + 1900;
  
  $Time = "$Hour\\:$Min Uhr am $Days[$WeekDay], $Months[$Month] $MonthDay, $Year";
}

Zuletzt geändert von mirko am 03.02.2008, 16:00, insgesamt 1-mal geändert.
5zu7.de
Beiträge: 5
Registriert: 03.02.2008, 09:45
Kontaktdaten:

Beitrag von 5zu7.de »

Nochmals Hallo!

Mit dem Anmeldescript erfasse ich zusätzlich bestimmte Felder:
$message .= \"IP: \".$ENV{REMOTE_ADDR}.\"n\";
$message .= \"Site: \".$ENV{HTTP_HOST}.\"n\";

Ich benötige darüber hinaus die Erfassung von Datum/Uhrzeit.

Kann jemand helfen?

Unter .php wäre das kein Problem, allerdings bin ich zwingend auf .cgi angewiesen.
Antworten