Grob gesagt, soll folgende Funktionaliaet bereitgestellt werden:
1. wenn man auf einen User im Forum klickt (um das Linksetzen mit Parametern kann ich mich kuemmern), wird eine Seite angezeigt, in der das Profil des Users angezeigt wird, so wie z.B.
hier. Den Funktionsumfang und das Layout musst du entscheiden (bitte moeglichst flexibel machen, damit man es auch einfach erweitern kann).
So ein Link koennte folgendermaszen aussehen:
/cgi-bin/board.cgi?action=viewUserProfile;id=1
Du liest dann einfach alles, was in der Datenbank zu den Usertabellen zum User mit der id=1 steht aus, und gibst es mit HTML::Template aus.
2. das eigene Profil editieren
3. das eigene Profil ausgeben (vielleicht kann man das mit 1 Kombinieren
Als Rahmen hast du folgenden Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package PBoard::UserHandler;
use warnings;
use strict;
# ------------------------------------------------------------
sub ShowUserProfile {
my ($cgi, $action) = @_;
my $userId = $cgi->param('id');
unless ($userId) {
&PrintMainOverviewPage($cgi, 'default');
return; # da kommt dann noch errorhandling
} # unless
# template holen und mit Parametern versehen
my $content = &PBoard::TemplateHandler::ReadTemplate
( $::Actions{$action}->{template}, # name
PAGE_NAME => &::PAGE_NAME,
LOGO_URL => &::LOGO_URL,
VERSION => &::VERSION,
CSS_STYLE => '/styles/pboard.css',
JAVASCRIPTCODE => '',
# ...
);
print $content->output();
} # ShowUserProfile
# ------------------------------------------------------------
sub EditMyUserProfile {
my ($cgi, $action) = @_;
# so wie oben
} # EditMyUserProfile
# ------------------------------------------------------------
sub ShowMyUserProfile {
my ($cgi, $action) = @_;
# so wie oben
} # ShowMyUserProfile
# ------------------------------------------------------------
# ============================================================
1; # modules have to return a true value
wenn du da was aenderst, bitte um Ruecksprache
Den bisherigen Code und das Datenbankmodell (kann auch noch geaendert werden, z.B. Spalten hinzufuegen) kann ich dir gerne schicken. Die Templates haben folgende Namen (kann ich auch aendern):
profile_show_template.html
profile_my_show_template.html
profile_my_edit_template.html
Ideal waere, wenn du einen Webserver mit CGI zum entwickeln haettest (z.B. unter Windows von
http://www.apachefriends.org/ -> eine der 1er-Versionen)
Noch interessiert?\n\n
<!--EDIT|Strat|1065267674-->