Beitrag von Marco (840 Beiträge) am Donnerstag, 12.April.2001, 15:31.
gästebuch?
ich hab das gästebuch von Stefan aus der bibliothek angepasst, und hab dabei den formmailer entfernen wollen, leider musste ich feststellen, dass nach dem dem eintragen nicht mehr zurück zum gästebuch umgeleitet wird.
hier der link:
http://baseportal.de/cgi-bin/baseportal.pl?htx=/freewarestation/gbook/add
im orginal geschieht dies jedoch!!!!
bin dankbar für jede hilfe
Marco
der quelltext
von "add"
<html>
<head>
<title>Gästebuch - Freewarestation</title>
<link rel=stylesheet type="text/css" href="http://www.bs.ni.schule.de/raabe/design.css">
<script language="JavaScript" type="text/javascript">
<!--
function formcheck() {
if (document.forms[0].elements["Name:="].value=="") {
alert("Bitte geben Sie Ihren Namen ein");
document.forms[0].elements["Name:="].focus();
return false;
}
var Text=document.forms[0].elements["Text:="].value
if (Text=="") {
alert("Bitte geben Sie einen Text ein");
document.forms[0].elements["Text:="].focus();
return false;
}
if (Text.length > 5000) {
alert("Der Text ist zu lang! Bitte kürzen Sie ihn auf maximal 5000 Zeichen.");
document.forms[0].elements["Text:="].focus();
return false;
}
}
//-->
</script>
</head>
<body>
<h1>Gästebuch - Eintrag hinzufügen</h1>
<perl>
if ($cmd ne "add") {
out <<EOF;
<p align="center">
<form name="daten" action="baseportal.pl?htx=/freewarestation/gbook/add" method="post" enctype="multipart/form-data" onReset="return confirm('Sind Sie sicher, dass Sie das Formular leeren wollen?')" onSubmit="return formcheck()">
<input type="hidden" name="htx=" value="/freewarestation/gbook/add">
<input type="hidden" name="cmd=" value="add">
<table cellspacing=10>
<tr>
<td><b>Name:</b></td>
<td><input name="Name:=" size=30 value=""></td>
</tr>
<tr>
<td><b>eMail:</b></td>
<td><input name="EMail:=" size=30 value=""></td>
</tr>
<tr>
<td><b>Homepage:</b></td>
<td><font size=-1>http://</font><input name="WWW:=" size=24 value=""></td>
</tr>
<tr>
<td colspan=2>
<b>Text:</b><br>
<textarea name="Text:=" cols=40 rows=6 wrap=virtual></textarea>
</td>
</tr>
<tr>
<td colspan=2>
<div align="center">
<input type=submit value="Eintragen">
<input type=reset value="Zurücksetzen">
</div>
</td>
</tr>
</table>
</form>
</p>
EOF
} else {
if ($cmd eq "add") {
put undef,"gbook";
}
out <<EOF;
<table width=100% height=100% align="center"><tr><td>
<b>Bitte warten Sie einen Moment, ihr Eintrag wird hinzugefügt...</b>
<form></form>
<input type="hidden" name="thankyou" value="http://baseportal.de/cgi-bin/baseportal.pl?htx=/freewarestation/gbook/view&range=0,10"
</td></tr></table>
</form>
EOF
}
</perl>
<p align="center"><a href="http://baseportal.de/cgi-bin/baseportal.pl?htx=/freewarestation/gbook/view&range=0,10"><img src="http://www.bs.ni.schule.de/raabe/icons/titles/back.gif" border=0 width=101 heigth=35 alt="Zurück"></a></p>
</body>
</html>
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 12.April.2001, 15:56.
Re: gästebuch?
das problem da ist, das der formmailer umleitet und nicht das template. wenn du den rausnimmst, kanns nicht klappen, du müßtest das ganze template umarbeiten.
Sander
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 12.April.2001, 16:04.
Re: gästebuch? mal schnell
<html>
<head>
<title>Gästebuch - Freewarestation</title>
<link rel=stylesheet type="text/css" href="http://www.bs.ni.schule.de/raabe/design.css">
<script language="JavaScript" type="text/javascript">
<!--
function formcheck() {
if (document.forms[0].elements["Name:="].value=="") {
alert("Bitte geben Sie Ihren Namen ein");
document.forms[0].elements["Name:="].focus();
return false;
}
var Text=document.forms[0].elements["Text:="].value
if (Text=="") {
alert("Bitte geben Sie einen Text ein");
document.forms[0].elements["Text:="].focus();
return false;
}
if (Text.length > 5000) {
alert("Der Text ist zu lang! Bitte kürzen Sie ihn auf maximal 5000 Zeichen.");
document.forms[0].elements["Text:="].focus();
return false;
}
}
//-->
</script>
</head>
<body>
<h1>Gästebuch - Eintrag hinzufügen</h1>
<perl>
if ($cmd eq "add")
{
put undef,"gbook";
out "Eintrag hinzugefügt";
}elsif ($cmd ne "add")
{
out <<EOF;
<p align="center">
<form name="daten" action="baseportal.pl?htx=/freewarestation/gbook/add" method="post" enctype="multipart/form-data" onReset="return confirm('Sind Sie sicher, dass Sie das Formular leeren wollen?')" onSubmit="return formcheck()">
<input type="hidden" name="htx=" value="/freewarestation/gbook/add">
<input type="hidden" name="cmd=" value="add">
<table cellspacing=10>
<tr>
<td><b>Name:</b></td>
<td><input name="Name:=" size=30 value=""></td>
</tr>
<tr>
<td><b>eMail:</b></td>
<td><input name="EMail:=" size=30 value=""></td>
</tr>
<tr>
<td><b>Homepage:</b></td>
<td><font size=-1>http:// name="WWW:=" size=24 value=""></td>
</tr>
<tr>
<td colspan=2>
<b>Text:</b><br>
<textarea name="Text:=" cols=40 rows=6 wrap=virtual></textarea>
</td>
</tr>
<tr>
<td colspan=2>
<div align="center">
<input type=submit value="Eintragen">
<input type=reset value="Zurücksetzen">
</div>
</td>
</tr>
</table>
</form>
</p>
EOF
}
</perl>
<loop db=gbook range=0,10>
hier die Ausgabe rein
</loop>
<p align="center"><a href="http://baseportal.de/cgi-bin/baseportal.pl?htx=/freewarestation/gbook/view&range=0,10"><img src="http://www.bs.ni.schule.de/raabe/icons/titles/back.gif" border=0 width=101 heigth=35 alt="Zurück"></a></p>
</body>
</html>
Dann brauchst du nur ein Template. Mußt nur noch die loop ausgabe hinzufügen
Antworten
Beitrag von Marco (840 Beiträge) am Donnerstag, 12.April.2001, 16:15.
Re: gästebuch? mal schnell
Das formular und die "Loop-seite" sollen nicht dieselben sein,
sondern eine seite zum hinzufügen und ein zum betrachten (add und view)
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 12.April.2001, 16:32.
Re: gästebuch? mal schnell
Antworten
Beitrag von Marco (840 Beiträge) am Donnerstag, 12.April.2001, 17:12.
Re: gästebuch? mal schnell
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 12.April.2001, 17:28.
Re: gästebuch? mal schnell
na ohne ein bischen probieren wirds nix, in der bib stehen auch noch andere Beispiele für GBs.
aber es ist nicht schwierig:
Im template "add" schreibst du ins Formular, wo alle Daten abgefragt werden, den action neu:
<form action="baseportal.pl?htx=/freewarestation/gbook/view" ...> und das hiddefeld
htx muß auch auf view zeigen
damit schickst du alles an das Template "view".
Um in der bd abgespeichert zu werden, schreibst du im "view" ganz oben, unter der Überschrift zum Beispiel:
<perl>
if ($cmd eq "add")
{
put undef,"gbook";
out "Eintrag hinzugefügt";
}
</perl>
Das fügt den Eintrag in die db ein.
Sander
Antworten
Beitrag von Marco (840 Beiträge) am Donnerstag, 12.April.2001, 18:28.
Re: gästebuch? mal schnell
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 12.April.2001, 20:35.
Re: gästebuch? mal schnell
Antworten