Thread FF zeigt nur Quellcode an, IE kann HTML darstellen
(29 answers)
Opened by
Gast
at 2006-06-08 18:45
User since 2006-06-09
76
Artikel
BenutzerIn
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.
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
|