Thread FF zeigt nur Quellcode an, IE kann HTML darstellen (29 answers)
Opened by Gast at 2006-06-08 18:45

Danwe
 2006-06-09 12:51
#7963 #7963
User since
2006-06-09
76 Artikel
BenutzerIn
[default_avatar]
Na gut, hier kommt das ganze script.
wundert euch nicht, die Einträge werden noch nicht alle an der richten Stelle geschrieben u. gespeichert, das mache ich als nächstes, habe meine Datenbank nochmal gründlich überdacht u. muss diese erst neu designen. Grundlegen funktioniert das aber.

Was nicht geht:
Firefox Anzeige

und auch komisch:
Oben frage ich ab, ob etwas über das Formular übergeben wurde und zwar mit : if($ENV{'REQUEST_METHOD'} eq 'GET')
er gibt immer true zurück, also geht davon aus dass etwas übergeben wurde. Somit wird dann auch immer ein neuer Eintrag in die DB gemacht obwohl das Formular garnicht ausgefüllt ist.
Gibts hier noch eine andere möglichkeit, oder muss ich wirklich ein paar Felder hernehmen u. abfragen, ob da etwas drinnen steht? Denn wenn nichts in den Feldern steht, dann sollten ja auch nur die bisherigen Einträge angezeigt werden, aber kein neuer gemacht werden.









Code: (dl )
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
#! /usr/bin/perl -w

use DBI;
use CGI;

use warnings;
use CGI::Carp qw/fatalsToBrowser/;

if($ENV{'REQUEST_METHOD'} eq 'GET') #Abfragen ob der user eine Eingabe gemacht hat
{
&GaestebuchEintrag();
}

&htmlGaestebuch();

#+-----------+-----------+----------+------------+-----------+--------+------------+
| Name | Datum | Zeit | Titel | Text | Mail | Website |
#+-----------+-----------+----------+------------+-----------+--------+------------+
#=====================================================================================#

sub GaestebuchEintrag
{
use CGI::Carp qw(fatalsToBrowser);
my $cgi = new CGI;

my $name = $cgi->param('name');
my $mail =$cgi->param('mail');
my $homepage =$cgi->param('homepage');
my $titel =$cgi->param('titel');
my $nachricht =$cgi->param('nachricht');

&dateNow();
my $datum =@dateNow[0];
my $zeit =@dateNow[1];

&connect();
my $sql = qq{insert into gaestebuch (Name,Datum,Zeit,Titel,Text,Mail,Website) values (?,?,?,?,?,?,?)};
my $sth = $dbh->prepare( $sql );
$sth->execute($name,$datum,$zeit,$titel,$text,$mail,$homepage);
$sth->finish();
&disconnect();

}


sub dateNow
{
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
$Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $CTIME_String = localtime(time);
$Monat+=1;
$Jahrestag+=1;
$Monat = sprintf("%02d",$Monat);
$Monatstag = sprintf("%02d",$Monatstag);
$Stunden = sprintf("%02d",$Stunden);
$Minuten = sprintf("%02d",$Minuten);
$Sekunden = sprintf("%02d",$Sekunden);
$Jahr+=1900;
my @Wochentage = ("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
my @Monatsnamen = ("","Januar","Februar","März","April","Mai","Juni",
"Juli","August","September","Oktober","November","Dezember");

#@dateNow=(["$Monatstag. $Monatsnamen[$Monat] $Jahr<br>\n"], ["$Stunden.$Minuten Uhr<br>\n"]);
$dateNow[0]="$Monatstag. $Monatsnamen[$Monat] $Jahr";
$dateNow[1]="$Stunden:$Minuten:$Sekunden";
}





sub htmlGaestebuch


{
print <<EOT;

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> #habs mal mit einem html Kopf ausprobiert hier, bringt aber auch nichts!

<html>
<head>
<title>Gästebuch</title>
<link rel="stylesheet" type="text/css" href="P:/an _ _ _/Daniel/styles.css">
</head>
<body>

EOT

print @dateNow[0];
print @dateNow[1];

&connect(); #Verbinden mit datenbank

"Database connection not made: $DBI::errstr";

my $sql = qq{select * from gaestebuch};
my $sth = $dbh->prepare( $sql );
$sth->execute();
while(@ergebnis=$sth->fetchrow_array)
{

print <<EOT;
<table class="guestTable" width = 400px><tr>
<td class="Date" width=125px rowspan=2>
<u><b>#1</b></u>
<p>
EOT
print $ergebnis[1];
print '<p> </td> <td class="Name" align = "Right">';
print "<b> $ergebnis[0] </b>";
print " aus ";
print "<b> $ergebnis[0] </b>";
print '</td> </tr> <tr> <td class="Text"> <h1>Eintrag Überschrift</h1>';
print $ergebnis[4];
print "</td> </tr> </table>";
}
$sth->finish();

&disconnect(); #Verbindung mit Datenbank trennen

print <<EOT;
<!-- Eingabefenster Tabelle -->
<form action='gaestebuch.plx' method='get'>
<table id ="InputTable">
<tr>
<td>Name:</td>
<td>
<input type="text" size="30" maxlength="30" name="name">
</td>
</tr>
<tr>
<td>E-Mail:</td>
<td>
<input type="text" size="30" maxlength="40" name='mail'>
</td>
</tr>
<tr>
<td>Homepage:</td>
<td>
<input type="text" size="30" maxlength="40" name="homepage">
</td>
</tr>

<tr>
<td><br></td>
<td><br></td>
</tr>

<tr>
<td>Titel: </td>
<td>
<input type="text" size="30" maxlength="40" name='titel'>
</td>
</tr>
<tr>
<td>Eintrag:</td>
<td>
<textarea cols='40' rows='20' name='nachricht'>Nachricht</textarea>
</td>
</tr>
<tr>
<td></td>
<td style="text-align:center;">
<input type='submit' value='Eintrag'>
</td>
</tr>
<table>
</form>

</body>
</html>
EOT
}

sub connect{
my $verbindung = "DBI:mysql:dwTest";
my $username = "xxxxxx";
my $password = "xxxxxx";

use DBI;
$dbh = DBI->connect($verbindung, $username, $password);
}

sub disconnect {
$dbh->disconnect();
}
\n\n

<!--EDIT|Danwe|1149843799-->

View full thread FF zeigt nur Quellcode an, IE kann HTML darstellen