[GastForen Archiv Perl und CGI Adressenscript für Intern-Bereich

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

Adressenscript für Intern-Bereich

Hanü
Beiträge gesamt: 219

6. Jan 2004, 23:11
Beitrag # 1 von 38
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo und gutes Neues noch nachträglich!

Würde mich freuen, wenn ihr mir bei einem Adressbuch-Perlscript für unsere ABI-Page helfen könntet. Und zwar möchte ich das Design durch ein Template anpassen können. Das Script soll im Template Kommentare durch eigene Daten ersetzen, so dass z.B. der Seitentitel entsprechend angepasst wird bzw. der Hauptinhalt oder der Quelllink zu einem Bild. Ich habe im Netz schon nach anpassbaren Adressbuch-Scripts gesucht, aber irgendwie war nicht das Richtige dabei. Am Besten hat mir bei all dem http://www.little-idiot.de/mysql/mysql-275.html gefallen.

Ich habe mir schon etliche Gedanken gemacht und das Grundgerüst für das Script zusammengebastelt. Leider kommt man nicht weit, wenn man die entsprechenden Befehle nicht kennt oder versteht und alles dreimal nachschlagen muss :o( Wiso gibt es eigentlich keinen Perl-Volkshochschulkurs???

Allgemeines zum Script:
- Die Adress-Daten sind in einer mySQL Datenbank gespeichert, ebenso die Nicknames und Loginnamen der Personen
- Das Design soll durch ein Template anpassbar sein
- Die Übersichtsseite mit allen Namen existiert bereits (index.html) Die Namen sind mit dem Script verlinkt "adressen.pl?id=hanue"
- Klickt man auf einen Namen soll das Script die Seite mit den Details (Anschrift etc.) anzeigen.
- Bei der Detailansicht soll es auch einen Link zum Bearbeiten geben "adressen.pl?edit=hanue", wobei der Eintrag nur bearbeitet werden kann, wenn es die Daten der eingeloggten Person sind.

//edit: Habe den Code gelöscht, weil er so nicht funktioniert und nicht zum Ensatz kam.

Nachtrag: Habe gerade erst von dem HTML::Template Modul gelesen und das mal versucht irgendwie einzubauen. Das funktioniert ja so ähnlich wie wenn man Kommentare verwendet. Nur mit dem @list wird's schwierig...

(Dieser Beitrag wurde von Hanü am 28. Jan 2004, 04:48 geändert)
X

Adressenscript für Intern-Bereich

Anonym
Beiträge gesamt: 22827

7. Jan 2004, 12:17
Beitrag # 2 von 38
Beitrag ID: #64506
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hanü,

>>Die Adress-Daten sind in einer mySQL Datenbank gespeichert,
>>ebenso die Nicknames und Loginnamen der Personen

Und wo ist das Passwort das zum jeweiligen Benutzernamen gehört?

Hattest Du nicht Benutzername und Passwort in der Datei .htpasswd gespeichert?
Sind die Benutzernamen nun doppelt vorhanden, also auch in der Datenbank?

Mysql macht doch erst Sinn ab 10000 Benutzer/Adressen.
Warum willst Du das denn nun mit einer Mysql-Datenbank machen?

Dein Beispiel bezieht sich auf den Zugriff mit dem DBI-Modul auf eine Adreßdatenbank im Textformat (*.csv),
also nicht auf eine Mysql-Datenbank.

http://www.little-idiot.de/mysql/mysql-275.html

Hier der Orginal-Artikel von Michael Schilli im Linux-Magazin:

http://www.linux-magazin.de/...5/DBflat/dbflat.html

Gruß Sabine


als Antwort auf: [#64448]
(Dieser Beitrag wurde von SabineP am 7. Jan 2004, 23:59 geändert)

Adressenscript für Intern-Bereich

Hanü
Beiträge gesamt: 219

8. Jan 2004, 11:22
Beitrag # 3 von 38
Beitrag ID: #64679
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sabine, genau das hab ich auch schon gefunden :) Dieses Beispiel kann auch mit ner Datenbank verwendet werden, wenn du dir die Anfangszeilen näher anschaust, da kann man auch die Login-Daten für ne DB eingeben, und in der Anleitung steht auch, dass man nur wenige Zeilen im Script ändern muss, wenn man anstelle der Textdatei ne Datenbank verwenden möchte.

Warum ich eine mySQL-DB verwenden möchte?
In der .htpasswd sind zwar die Benutzernamen gespeichert, aber das wars doch auch schon, ich kann doch nicht weitere Infos wie die Anschrift oder den richtigen Namen in der htaccess speichern !?? Und ob ich diese Daten jetzt in der mySQL-DB speichere, oder in einer Textdatei... ist für mich beides kompliziert^^. Nur diese mySQL scheint mir irgendwie sicherer zu sein wie eine Textdatei !? und ich kann sie mit phpmyadmin schnell bearbeiten

Dieses Beispielscript gefiel mir eigentlich nur, weil ich da sehen kann, wie man die Daten zum bearbeiten anzeigen kann. Die Suchfunktion, das Anlegen eines neuen Datensatzes und die dort verwendete Gesamtübersicht will ich ja gar nicht.

Es soll eine Klassenliste sein, wenn man auf den Namen klickt sieht man die Anschrift und weitere Details zur Person, welche von der entsprechenden Person aktuallisiert werden können. Das wars schon. Und das Design würd ich mit nem Template anpassen.... *träum*

LG Andreas


als Antwort auf: [#64448]

Adressenscript für Intern-Bereich

Hanü
Beiträge gesamt: 219

28. Jan 2004, 04:46
Beitrag # 4 von 38
Beitrag ID: #67686
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Irgendwie schreib ich immer viel zu viel.

Habe einen Teil geschafft!
1. Profilansicht (Mit Klick auf den Link adressen.pl?id=34 wird eine Seite geöffnet, welche die Daten der Person 34 in einer Tabelle anzeigt)
2. Eigene Daten ändern (da der Username in der Umgebungsvariablen steckt, braucht man nur eine Abfrage der Datenbank machen, alle Userinfos in ein @Datensatz speichern und mit Print erzeugt man dann ein Formular, wobei in die Input-Felder als value die Angaben aus der BD eingesetz werden. Momentane Lösung: Nach der Änderung wird das Formular per Mail versand und die DB muss dann von Hand aktuallisiert werden)

Frage:
Wie erreiche ich, dass die Daten nicht nur Ausgelesen und Angezeigt, sondern nach der Änderung auch in der DB gespeichert werden?

Gruß Hanü


als Antwort auf: [#64448]
(Dieser Beitrag wurde von Hanü am 25. Jul 2004, 18:03 geändert)

Adressenscript für Intern-Bereich

SabineP
Beiträge gesamt: 7586

28. Jan 2004, 11:35
Beitrag # 5 von 38
Beitrag ID: #67719
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hanü, in diesem Beispiel

http://www.little-idiot.de/mysql/mysql-275.html

macht das (Ändern) dieser Abschnitt im Script

my $sql = qq[
UPDATE addressbook
SET id=$id, fname=$fname, lname=$lname, phone=$phone, email=$email, notes=$notes
WHERE id = $id];

Gruß Sabine


als Antwort auf: [#64448]
(Dieser Beitrag wurde von SabineP am 28. Jan 2004, 11:36 geändert)

Adressenscript für Intern-Bereich

Hanü
Beiträge gesamt: 219

30. Jan 2004, 04:40
Beitrag # 6 von 38
Beitrag ID: #68114
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ok, ich mach das wohl am Besten mit nem neuen Script.
Das Formular übergibt die Daten mit klicken auf den Send-Button.
Wie müsste das Script aussehen? Oder besser: Wie speichere ich die übergebenen Daten in $-Parameter, die die Namen der Formularfelder haben? Also z.B. zwei Textfeld haben den Namen "PLZ" und "Ort" und die Werte "12345" und "Irgendwo". Wie erreiche ich, dass
$PLZ = "12345" und $Ort = "Irgendwo" damit ich das für den SQL-Befehl gleich weiterverarbeiten kann? Oder muss ich die alle einzeln mit
my $PLZ = $dbh->quote(param('PLZ')); speichern?

Und die zweite Frage: Die SQL-Datenbank mag keine Gänsefüße "". Wie verhindere ich, dass der User welche übergibt?

______________________________
Vorschlag für das Script:

#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);

# DBI-Modul und Datenquelle

use DBI;
my $DB_DSN = "DBI:mysql:xyz"; # Datenbank
my $DB_USER = "xyz"; # Benutzer
my $DB_PASSWD = "xyz"; # Passwort

my $dbh = DBI -> connect ($DB_DSN, $DB_USER, $DB_PASSWD) || die "Kann keine Verbindung zu $DB_DSN herstellen: $DBI::errstr";

my $Name = $ENV{'REMOTE_USER'};

##############################################
##### 1: Daten ändern

my $sql = qq[
UPDATE datenbankname
SET plz=$PLZ, wohnort=$Ort
WHERE User=$Name];

$dbh->do($sql) or die "Die Daten konnten nicht aktuallisiert werden. ($sql)";

##############################################
##### 2: Profil anzeigen (mit den neuen Daten)
##### - hier fehlt noch der entscheitede Refresh-Befehl

my $Abfrage=$dbh->prepare("SELECT * FROM datenbankname WHERE Username = '$Name'");
$Abfrage->execute();

while (@Datensatz=$Abfrage->fetchrow_array) {
($id,)=@Datensatz;
print "Location: http://www.xyz.de/...ssen.pl?id=$id\n\n";
}

##############################################
$Abfrage->finish;
$dbh->disconnect; # Datenbankverbindung trennen
exit;


als Antwort auf: [#64448]
(Dieser Beitrag wurde von Hanü am 2. Feb 2004, 13:34 geändert)

Adressenscript für Intern-Bereich

SabineP
Beiträge gesamt: 7586

2. Feb 2004, 12:50
Beitrag # 7 von 38
Beitrag ID: #68498
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hanü,

hier ist mal ein Beispielskript für eine Tabelle mit dem Namen adressen.
Die einzelnen Tabellenspalten sind:
id, name, plz, ort

In der Spalte name stehen die Benutzernamen, die identisch sind mit den Benutzernamen in der Datei .htpasswd

Habe das Skript noch einmal geändert!

#!/usr/bin/perl
# Einbinden der Module
use CGI::Carp qw(fatalsToBrowser);
use strict;
use CGI;
use DBI;

# Verbindung zur Datenbank herstellen
my $db=DBI->connect('dbi:mysql:Datenbankname;Hostname','Benutzername','Passwort');
my $http=new CGI;

my $name = $ENV{'REMOTE_USER'};

my $plz = $http->param('plz');
my $ort = $http->param('ort');

# HTTP-Header ausgeben
print $http->header();
print $http->start_html();

if ($http->param('update') ne ''){

#Änderungsformular

my $query = $db->prepare("SELECT id, name, plz, ort FROM adressen WHERE name='$name' ");
print $db->errstr; #Errorstring
$query->execute();
my @abfrage = $query->fetchrow_array();

print qq|<form action="adresse.pl" method="post">|;
print qq|<table border="1">|;
print qq|<tr><td>$abfrage[0]<td>$abfrage[1]<input type="hidden" name="name" value="$abfrage[1]"><td><input type="text" name="plz" value="$abfrage[2]"><input type="text" name="ort" value="$abfrage[3]"></table>|;
print qq|<input type="submit" value="speichern" name="update1">|;
print qq|</form>|;

}

elsif ($http->param('update1') ne ''){

#Änderungen in Datenbank übernehmen

if ($plz ne '' && $ort ne ''){
my $query = $db->prepare ("UPDATE adressen SET plz='$plz', ort='$ort' WHERE name='$name' ");
print $db->errstr; #Errorstring
$query->execute();
}
print qq|&Auml;nderung durchgeführt<br><a href="adresse.pl">zur Adressenanzeige</a>|;
}

else {

# Adresse anzeigen
my $query = $db->prepare("SELECT id, name, plz, ort FROM adressen WHERE name='$name' ");
print $db->errstr; #Errorstring
$query->execute();

# Tabellenkopf
print qq|<form action="adresse.pl" method="post">|;
print qq|<table border="1">|;

# Datenbankeintrag in ein Array lesen und in Tabelle schreiben
my @abfrage = $query->fetchrow_array();

print qq|<tr><td>$abfrage[0]<td>$abfrage[1]<td>$abfrage[2]<td>$abfrage[3]<td><input type="submit" name="update" value="&auml;ndern">|;
print qq|</table></form><br><br>|;
}

# Datenbank-Verbindung beenden
$db->disconnect();

# HTML-Dokument beenden
print $http->end_html();


Gruß Sabine


als Antwort auf: [#64448]
(Dieser Beitrag wurde von SabineP am 3. Feb 2004, 10:26 geändert)

Adressenscript für Intern-Bereich

Hanü
Beiträge gesamt: 219

8. Feb 2004, 23:41
Beitrag # 8 von 38
Beitrag ID: #69469
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sabine,

großes DANKE erst mal, ich hatte leider noch keine Zeit, werde das Script demnächst genauer unter die Lupe nehmen und ausprobieren. Ich melde mich dann. Danke nochmal!

Andreas


als Antwort auf: [#64448]

Adressenscript für Intern-Bereich

Hanü
Beiträge gesamt: 219

17. Feb 2004, 06:30
Beitrag # 9 von 38
Beitrag ID: #70794
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, habe jetzt mal versucht, das Script zum Übernehmen der Daten anzupassen. Aber erst noch ne Frage:

if ($plz ne '' && $ort ne ''){
my $query = $db->prepare ("UPDATE adressen SET plz='$plz', ort='$ort' WHERE name='$name' ");
print $db->errstr; #Errorstring
$query->execute();
}
print qq|&Auml;nderung durchgeführt<br><a href="adresse.pl">zur Adressenanzeige</a>|;
}

Was bewirkt hier die if-Zeile??? Dürfen die Felder nicht leer sein?




Nun zu meinem Versuch: Beim Aufruf durch klick auf "Senden" im Formular kommt folgende Fehlermeldung: Can't call method "param" on an undefined value at aenderung.pl line 16. Hier das Script 'aenderung.pl':

#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);

# DBI-Modul und Datenquelle

use DBI;
my $DB_DSN = "DBI:mysql:xxx"; # Datenbank
my $DB_USER = "xxx"; # Benutzer
my $DB_PASSWD = "xxx"; # Passwort

my $dbh = DBI -> connect ($DB_DSN, $DB_USER, $DB_PASSWD) || die "Kann keine Verbindung zu $DB_DSN herstellen: $DBI::errstr";


##### Formularfelder einlesen ##############################################

my $i05 = $http->param('AktuellerName');
my $i06 = $http->param('email');
my $i07 = $http->param('Email2');
# [..] usw. ca. 40 Felder


##### Wer ist online? ######################################################
my $Name = $ENV{'REMOTE_USER'};

my $Abfrage1=$dbh->prepare("SELECT * FROM adressen WHERE Username = '$Name'");
$Abfrage1->execute();

while (@Datensatz1=$Abfrage1->fetchrow_array) {
($ID,,,,)=@Datensatz1;
}

$Abfrage1->finish;



##### Aktuelles Datum #######################################################

(undef,$min,$hour,$mday,$mon,$year,$wday,undef,undef) = 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");

$Aenderungsdatum = "$tag[$wday], $mday. $monat[$mon] $year";


##### Änderung in Datenbank übernehmen ####################################

my $query = $dbh->prepare ("UPDATE adressen SET NeuerName='$i05', Email_1='$i06', Email_2='$i07', Website='$i08', [..], LastChange='$Aenderungsdatum' WHERE name='$Name' ");
print $dbh->errstr; #Errorstring
$query->execute();

print "Location: ../name/details.pl?id=$ID\n\n";


$Abfrage->finish;

$dbh->disconnect; # Datenbankverbindung trennen

exit;


als Antwort auf: [#64448]

Adressenscript für Intern-Bereich

SabineP
Beiträge gesamt: 7586

17. Feb 2004, 10:34
Beitrag # 10 von 38
Beitrag ID: #70834
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hanü,

if ($plz ne '' && $ort ne '')

nur wenn das Feld plz und ort im Formular nicht leer sind, wird die UPDATE-Anweisung (Daten ändern) ausgeführt.

Die Fehlermeldung: Can't call method "param" zeigt, daß Du das CGI-Modul nicht eingebunden hast.
Es fehlen die Zeilen
use CGI; und my $http=new CGI;

Hier noch einmal die ersten Zeilen:

#!/usr/bin/perl
# Einbinden der Module
use CGI::Carp qw(fatalsToBrowser);
use strict;
use CGI;
use DBI;

# Verbindung zur Datenbank herstellen
my $db=DBI->connect('dbi:mysql:Datenbankname;Hostname','Benutzername','Passwort');
my $http=new CGI;

##### Wer ist online? #####
steht schon in der Variable $name
my $name = $ENV{'REMOTE_USER'};
Der User, der gerade online und eingeloggt ist wird also nicht aus der Datenbank ermittelt.

Was möchtest Du denn noch an dem Script anpassen?

Gruß Sabine


als Antwort auf: [#64448]
(Dieser Beitrag wurde von SabineP am 17. Feb 2004, 11:07 geändert)

Adressenscript für Intern-Bereich

Hanü
Beiträge gesamt: 219

17. Feb 2004, 11:38
Beitrag # 11 von 38
Beitrag ID: #70850
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ok, habe die Module eingebunden. Wenn ich das Script aufrufe kommen noch viel mehr Fehlermeldungen in der Form:

Global symbol "@Datensatz1" requires explicit package name at aenderung.pl line 58.
Global symbol "$ID" requires explicit package name at aenderung.pl line 59.

Außerdem für $min, $hour, $mday,... nur nicht für die übertragenen Felder $ort usw. und am Schluss steht noch

Execution of aenderung.pl aborted due to compilation errors.

##### Wer ist online? ##### hab ich deshalb reingemacht, weil ich am Ende bei print "Location: ../name/details.pl?id=$ID\n\n"; nicht den Username, sondern die ID brauche, was 2 paar Stiefel sind (warum einfach, wenns auch kompliziert geht ;-) Wobei ich mir noch gar nicht sicher bin, ob das so funktioniert (da müsste wahrscheinlich noch ein refresh rein)

Zitat Was möchtest Du denn noch an dem Script anpassen?

An deinem Script? Nichts weiter. Das ist ok so wie es ist! Nur an meinem kaputten Versuch. (Im Prinzip hab ich das Gleiche wie du gemacht, nur auf 3 einzelne Scripte verteilt. Ich habe ein details.pl, das die Daten durch Aufruf mit ?id=xx anzeigt, ein adressform.pl, welches das Änderungsformular erzeugt und jetzt ein aenderung.pl, welches die Daten ändern soll und dann zur aktuallisierten Profilansicht weiterleitet. Bisher hatte ich anstelle des aenderung.pl einen Formmailer gesetzt)


als Antwort auf: [#64448]

Adressenscript für Intern-Bereich

SabineP
Beiträge gesamt: 7586

17. Feb 2004, 11:55
Beitrag # 12 von 38
Beitrag ID: #70856
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hanü, schreib mal,

my @Datensatz1
in der Zeile 58

my $ID
in der Zeile 59

das ist durch
use strict;
erforderlich

Gruß Sabine


als Antwort auf: [#64448]

Adressenscript für Intern-Bereich

Hanü
Beiträge gesamt: 219

17. Feb 2004, 13:49
Beitrag # 13 von 38
Beitrag ID: #70877
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ok, hab das soweit überall eingefügt. Jetzt kommt nur noch das hier:

Global symbol "$ID" requires explicit package name at aenderung.pl line 90.
Execution of aenderung.pl aborted due to compilation errors.

In Line 90 steht:
print "Location: ../name/details.pl?id\=$ID\n\n";

Was ist jetzt noch falsch? Ich habs auch schon so probiert:
print "Location: http:// my.url.de/login/adressen/details.pl?id\=$ID\n\n";
und ohne den Backslash \ vor dem =

Eigentlich wird doch $ID extra hier deklariert:
while (my @Datensatz1=$Abfrage1->fetchrow_array) {
(my $ID,,,,)=@Datensatz1;
}


als Antwort auf: [#64448]
(Dieser Beitrag wurde von Hanü am 25. Jul 2004, 18:08 geändert)

Adressenscript für Intern-Bereich

oesi50
  
Beiträge gesamt: 2315

17. Feb 2004, 14:12
Beitrag # 14 von 38
Beitrag ID: #70878
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi Hanü,

ersetze:

my $Abfrage1=$dbh->prepare("SELECT * FROM adressen WHERE Username = '$Name'");
$Abfrage1->execute();

while (@Datensatz1=$Abfrage1->fetchrow_array) {
($ID,,,,)=@Datensatz1;
}

durch:

my $Abfrage1=$dbh->prepare("SELECT ID FROM adressen WHERE Username = '$Name'");
$Abfrage1->execute();

(my $ID)=$Abfrage1->fetchrow_array;


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#64448]

Adressenscript für Intern-Bereich

Hanü
Beiträge gesamt: 219

17. Feb 2004, 18:01
Beitrag # 15 von 38
Beitrag ID: #70928
Bewertung:
(7860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
OK, das Script bringt keine Fehlermeldung mehr. Nach Klick auf 'Senden' werde ich wie gewünscht zur Profilansicht weitergeleitet. Allerdings werden die Änderungen nicht in die Datenbank übernommen. Hier nochmal das Script aenderung.pl

#!/usr/bin/perl
# Einbinden der Module
use CGI::Carp qw(fatalsToBrowser);
use strict;
use CGI;
use DBI;

##### Verbindung zur Datenbank herstellen ##################################

my $dbh=DBI->connect('dbi:mysql:Datenbank', 'Username', 'Passwort') || die "Kann keine Verbindung zur Datenbank herstellen: $DBI::errstr";
my $http=new CGI;


##### Formularfelder einlesen ##############################################

my $i05 = $http->param('AktuellerName');
my $i06 = $http->param('email');
my $i07 = $http->param('Email2');
# [..] usw. ca. 40 Felder
my $i38 = $http->param('Plaene');
my $i39 = $http->param('Sonstiges');


##### Wer ist online? ######################################################
my $Name = $ENV{'REMOTE_USER'};

my $Abfrage1=$dbh->prepare("SELECT ID FROM adressen WHERE Username = '$Name'");
$Abfrage1->execute();

(my $ID)=$Abfrage1->fetchrow_array;

$Abfrage1->finish;



##### Aktuelles Datum #######################################################

(undef, my $min, my $hour, my $mday, my $mon,my $year, my $wday, undef, undef) = localtime(time);
my $year = $year+1900;

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

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

my $Aenderungsdatum = "$tag[$wday], $mday. $monat[$mon] $year";


##### Änderung in Datenbank übernehmen ####################################

my $query = $dbh->prepare ("UPDATE adressen SET NeuerName='$i05', Email_1='$i06', Email_2='$i07', [..], Plaene='$i38', Sonstiges='$i39', LastChange='$Aenderungsdatum' WHERE name='$Name' ");
print $dbh->errstr; #Errorstring
$query->execute();
$query->finish;

print "Location: ../name/details.pl?id\=$ID\n\n";

$dbh->disconnect; # Datenbankverbindung trennen
exit;


als Antwort auf: [#64448]
X