Beitrag von Claus S. (1671 Beiträge) am Montag, 26.Februar.2001, 12:08.
problem mit änderungsformular
hallo,
habe ein änderungsformualar erstellt mit get und mod,
entsprechender satz wird angezeigt, aber nach absenden nicht geändert. weiss jemand rat?
hier der abschnitt des suchformulars:
<perl>
get "Id==$_id", "gpurl";
#Ausgabe des Detail-Änderungs-Formulars
out <<EOF;
<table align=center cellspacing=1 cellpadding=2 border=0>
<tr bgcolor=#cccccc><td>
<form action="baseportal.pl?htx=/gpark/gpurl&cmd=mod" method="post" enctype="multipart/form-data">
<input type=hidden name="htx=" value="/gpark/gpurldet2">
<input type=hidden name="cmd=" value="mod">
<table align=center cellspacing=1 cellpadding=2 border=0>
<tr><td> </td>
<tr><td align=right><font face=verdana size=2 color=#000080>Rubrik:</td><td><input type="text" name="$gpkat1:=" size=40 value="$gpkat1"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Rubrik:</td><td><input type="text" name="$gpkat2:=" size=40 value="$gpkat2"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Rubrik:</td><td><input type="text" name="$gpkat3:=" size=40 value="$gpkat3"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Stichwort:</td><td><input type="text" name="$gpukat1:=" size=40 value="$gpukat1"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Stichwort:</td><td><input type="text" name="$gpukat2:=" size=40 value="$gpukat2"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Stichwort:</td><td><input type="text" name="$gpukat3:=" size=40 value="$gpukat3"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>URL:</td><td><input type="text" name="gpurl:=" size=40 value="$gpurl"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Beschreibung:</td><td><input type="text" name="$gpbes1:=" size=40 value="$gpbes1"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080> Beschreibung:</td><td><textarea name="$gpbes2:=" cols=37 rows=5 wrap=virtual>$gpbes2</textarea></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Sprache:</td><td><input type="textarea" name="$gpsprach:=" size=2 value="$gpsprach"></td></tr>
<tr><td> </td>
<td nowrap><br><input type=submit value="Abschicken"> <input type=reset value="Zurücksetzen"></td></tr>
</table>
</form>
</td></tr>
</table>
mod "Id==$_id", [ "gpkat1", "$gpkat1", "gpkat2", "$gpkat2", "gpkat3", "$gpkat3",
"gpukat1", "$gpukat1", "gpukat2", "$gpukat2", "gpukat3", "$gpukat3",
"gpurl", "$gpurl", "gpbes1", "$gpbes1", "gpbes2", "$gpbes2", "gpsprach", "$gpsprach" ], "gpurl";
" Eintrag wurde geändert ";
EOF
und hier der aufruf (einensatz aus der liste auswählen)
http://baseportal.de/cgi-bin/baseportal.pl?htx=/gpark/gpurllist2
danke und gruss
claus
Antworten
Beitrag von Andreas (396 Beiträge) am Montag, 26.Februar.2001, 13:34.
Re: problem mit änderungsformular
Hallo,
auf den ersten Blick würde ich erst einmal sagen, daß das "EOF" auf jeden Fall zu weit unten stehen, das gehört _vor_ die mod-Passage, damit diese als Perl-Code und nicht als auszugebendes HTML interpretiert wird (sieht man auch beim Seitenaufruf).
Gruß, Andreas
Antworten
Beitrag von Sander (8133 Beiträge) am Montag, 26.Februar.2001, 15:01.
Re: problem mit änderungsformular
Wenn du das mod unter EOF schreibst, ändert es sofort beim ersten aufruf des Forms die Werte - das ist unnötig, schreib mod in eine if bedingung.
if ($cmd eq "mod")
{
mod .....
}
jetzt wird nur nach dem Abschicken geändert.
Willst du nach dem Abschicken das Formular nicht mehr haben, schreib auch das in eine if-bedingung
if ($cmd ne "mod")
{
get..
out <<EOF;
....
außerdem wieder das htx: daselbe Template in form und input schreiben
<form action="baseportal.pl?htx=/gpark/gpurl&cmd=mod" method="post" enctype="multipart/form-data">
<input type=hidden name="htx=" value="/gpark/gpurldet2">
so ruft der NN etwas anderes auf als der IE - das ist doch nicht richtig ;-)
Sander
Antworten
Beitrag von Claus S. (1671 Beiträge) am Montag, 26.Februar.2001, 17:12.
Re: problem mit änderungsformular
hallo sander,
hatte geglaubt es verstanden zu haben, aber irgendwie klappt es nicht
<perl>
get "Id==$_id", "gpurl";
if ($cmd eq "mod")
{
mod "Id==$_id", [ "gpkat1", "$gpkat1", "gpkat2", "$gpkat2", "gpkat3", "$gpkat3",
"gpukat1", "$gpukat1", "gpukat2", "$gpukat2", "gpukat3", "$gpukat3",
"gpurl", "$gpurl", "gpbes1", "$gpbes1", "gpbes2", "$gpbes2", "gpsprach", "$gpsprach" ], "gpurl";
out " Eintrag wurde geändert ";
}
#Ausgabe des Detail-Änderungs-Formulars
out <<EOF;
<table align=center cellspacing=1 cellpadding=2 border=0>
<tr bgcolor=#cccccc><td>
<form action="baseportal.pl?htx=/gpark/gpurldet2&cmd=mod" method="post" enctype="multipart/form-data">
<input type=hidden name="htx=" value="/gpark/gpurldet2">
<input type=hidden name="cmd=" value="mod">
<table align=center cellspacing=1 cellpadding=2 border=0>
<tr><td> </td>
<tr><td align=right><font face=verdana size=2 color=#000080>Rubrik:</td><td><input type="text" name="$gpkat1:=" size=40 value="$gpkat1"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Rubrik:</td><td><input type="text" name="$gpkat2:=" size=40 value="$gpkat2"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Rubrik:</td><td><input type="text" name="$gpkat3:=" size=40 value="$gpkat3"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Stichwort:</td><td><input type="text" name="$gpukat1:=" size=40 value="$gpukat1"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Stichwort:</td><td><input type="text" name="$gpukat2:=" size=40 value="$gpukat2"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Stichwort:</td><td><input type="text" name="$gpukat3:=" size=40 value="$gpukat3"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>URL:</td><td><input type="text" name="gpurl:=" size=40 value="$gpurl"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Beschreibung:</td><td><input type="text" name="$gpbes1:=" size=40 value="$gpbes1"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080> Beschreibung:</td><td><textarea name="$gpbes2:=" cols=37 rows=5 wrap=virtual>$gpbes2</textarea></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Sprache:</td><td><input type="textarea" name="$gpsprach:=" size=2 value="$gpsprach"></td></tr>
<tr><td> </td>
<td nowrap><br><input type=submit value="Abschicken"> <input type=reset value="Zurücksetzen"></td></tr>
</table>
</form>
</td></tr>
</table>
EOF
</perl>
http://baseportal.de/cgi-bin/baseportal.pl?htx=/gpark/gpurllist2
nach dem abschicken kommt er wieder aufs formular und sagt "eintrag geändert" aber er hat nichts geändert,
als ich zwischendurch die htx geändert hatte auf das listbild, hat er mir alle 500 sätze der datei auf leerzeichen geändert
Antworten
Beitrag von Sander (8133 Beiträge) am Montag, 26.Februar.2001, 17:37.
Re: problem mit änderungsformular
Also so sieht es aus das er nicht gleich ändert. ich hab noch ein hiddenfeld mit der Id mitgeschickt, damit mod weiß was zu ändern ist.
<perl>
get "Id==$_id", "gpurl";
#Ausgabe des Detail-Änderungs-Formulars
out <<EOF;
<table align=center cellspacing=1 cellpadding=2 border=0>
<tr bgcolor=#cccccc><td>
<form action="baseportal.pl?htx=/gpark/gpurldet2&cmd=mod" method="post" enctype="multipart/form-data">
<input type=hidden name="htx=" value="/gpark/gpurldet2">
<input type=hidden name="cmd=" value="mod">
<input type=hidden name="_id=" value="$_id"
<table align=center cellspacing=1 cellpadding=2 border=0>
<tr><td> </td>
<tr><td align=right><font face=verdana size=2 color=#000080>Rubrik:</td><td><input type="text" name="$gpkat1:=" size=40 value="$gpkat1"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Rubrik:</td><td><input type="text" name="$gpkat2:=" size=40 value="$gpkat2"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Rubrik:</td><td><input type="text" name="$gpkat3:=" size=40 value="$gpkat3"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Stichwort:</td><td><input type="text" name="$gpukat1:=" size=40 value="$gpukat1"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Stichwort:</td><td><input type="text" name="$gpukat2:=" size=40 value="$gpukat2"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Stichwort:</td><td><input type="text" name="$gpukat3:=" size=40 value="$gpukat3"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>URL:</td><td><input type="text" name="gpurl:=" size=40 value="$gpurl"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Beschreibung:</td><td><input type="text" name="$gpbes1:=" size=40 value="$gpbes1"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080> Beschreibung:</td><td><textarea name="$gpbes2:=" cols=37 rows=5 wrap=virtual>$gpbes2</textarea></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Sprache:</td><td><input type="textarea" name="$gpsprach:=" size=2 value="$gpsprach"></td></tr>
<tr><td> </td>
<td nowrap><br><input type=submit value="Abschicken"> <input type=reset value="Zurücksetzen"></td></tr>
</table>
</form>
</td></tr>
</table>
EOF
if ($cmd eq "mod")
{
mod "Id==$_id",["gpkat1", "$gpkat1", "gpkat2", "$gpkat2", "gpkat3", "$gpkat3", "gpukat1", "$gpukat1", "gpukat2", "$gpukat2", "gpukat3", "$gpukat3", "gpurl", "$gpurl", "gpbes1", "$gpbes1", "gpbes2", "$gpbes2", "gpsprach", "$gpsprach" ], "gpurl";
out " Eintrag wurde geändert ";
}
</perl>
Antworten
Beitrag von Sander (8133 Beiträge) am Montag, 26.Februar.2001, 17:40.
Re: problem mit änderungsformular
es ist besser es drüber zu setzen
if ($cmd eq "mod")
{
mod "Id==$_id",["gpkat1", "$gpkat1", "gpkat2", "$gpkat2", "gpkat3", "$gpkat3", "gpukat1", "$gpukat1", "gpukat2", "$gpukat2", "gpukat3", "$gpukat3", "gpurl", "$gpurl", "gpbes1", "$gpbes1", "gpbes2", "$gpbes2", "gpsprach", "$gpsprach" ], "gpurl";
out " Eintrag wurde geändert ";
}
get "Id==$_id", "gpurl";
#Ausgabe des Detail-Änderungs-Formulars
out <<EOF;
<table align=center cellspacing=1 cellpadding=2 border=0>
<tr bgcolor=#cccccc><td>
<form action="baseportal.pl?htx...
...
Antworten
Beitrag von Claus S. (1671 Beiträge) am Dienstag, 27.Februar.2001, 01:46.
Re: problem mit änderungsformular
Antworten
Beitrag von Claus S. (1671 Beiträge) am Dienstag, 27.Februar.2001, 01:50.
Re: problem mit änderungsformular
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 27.Februar.2001, 17:18.
Re: problem mit änderungsformular
So Claus, habs jetzt mal getestet, das funzt jetzt, du hattest überall außer bei URL ein $ vor dem Namen des Inputfeldes - da kanns nicht gehen :-)
<perl>
if ($cmd eq "mod")
{
mod "Id==$_id",["gpkat1", "$gpkat1", "gpkat2", "$gpkat2", "gpkat3", "$gpkat3", "gpukat1", "$gpukat1", "gpukat2", "$gpukat2", "gpukat3", "$gpukat3", "gpurl", "$gpurl", "gpbes1", "$gpbes1", "gpbes2", "$gpbes2", "gpsprach", "$gpsprach" ], "gpurl";
out " Eintrag wurde geändert ";
}
get "Id==$_id", "gpurl";
#Ausgabe des Detail-Änderungs-Formulars
out <<EOF;
<table align=center cellspacing=1 cellpadding=2 border=0>
<tr bgcolor=#cccccc><td>
<form action="baseportal.pl?htx=/gpark/gpurldet2&cmd=mod" method="post" enctype="multipart/form-data">
<input type=hidden name="htx=" value="/gpark/gpurldet2">
<input type=hidden name="cmd=" value="mod">
<input type=hidden name="_id=" value="$_id"
<table align=center cellspacing=1 cellpadding=2 border=0>
<tr><td> </td>
<tr><td align=right><font face=verdana size=2 color=#000080>Rubrik:</td><td><input type="text" name="gpkat1=" size=40 value="$gpkat1"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Rubrik:</td><td><input type="text" name="gpkat2=" size=40 value="$gpkat2"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Rubrik:</td><td><input type="text" name="gpkat3=" size=40 value="$gpkat3"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Stichwort:</td><td><input type="text" name="gpukat1=" size=40 value="$gpukat1"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Stichwort:</td><td><input type="text" name="gpukat2=" size=40 value="$gpukat2"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Stichwort:</td><td><input type="text" name="gpukat3=" size=40 value="$gpukat3"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>URL:</td><td><input type="text" name="gpurl=" size=40 value="$gpurl"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Beschreibung:</td><td><input type="text" name="gpbes1=" size=40 value="$gpbes1"></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080> Beschreibung:</td><td><textarea name="gpbes2=" cols=37 rows=5 wrap=virtual>$gpbes2</textarea></td></tr>
<tr><td align=right><font face=verdana size=2 color=#000080>Sprache:</td><td><input type="textarea" name="gpsprach=" size=2 value="$gpsprach"></td></tr>
<tr><td> </td>
<td nowrap><br><input type=submit value="Abschicken"> <input type=reset value="Zurücksetzen"></td></tr>
</table>
</form>
</td></tr>
</table>
EOF
</perl>
bye
Antworten
Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 28.Februar.2001, 12:07.
Re: problem mit änderungsformular
O je,
es funzt doch nicht
<perl>
if ($cmd eq "mod")
{
mod "Id==$_id",["gpkat1", "$gpkat1", "gpkat2", "$gpkat2", "gpkat3", "$gpkat3",
"gpukat1", "$gpukat1", "gpukat2", "$gpukat2", "gpukat3", "$gpukat3", "gpurl",
"$gpurl", "gpbes1", "$gpbes1", "gpbes2", "$gpbes2", "gpsprach", "$gpsprach" ],
"gpurl";
out " Eintrag wurde geändert ";
}
ich muss doch ein $ vor die inputfelder setzen, und ein $ war auch vorn gpurl (URL), nach der eckigen klammer steht auch ein gpurl, aber das ist nach der syntax die datei (heisst zufällig wie ein feld).
aber habe nun mal alle $ rausgenommen, das ist falsch, dann ändert er z.b. das feld gpkat1 auf den inhalt "gpkat1"
Antworten
Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 28.Februar.2001, 21:08.
Re: problem mit änderungsformular
O je,
es funzt doch nicht
<perl>
if ($cmd eq "mod")
{
mod "Id==$_id",["gpkat1", "$gpkat1", "gpkat2", "$gpkat2", "gpkat3", "$gpkat3",
"gpukat1", "$gpukat1", "gpukat2", "$gpukat2", "gpukat3", "$gpukat3", "gpurl",
"$gpurl", "gpbes1", "$gpbes1", "gpbes2", "$gpbes2", "gpsprach", "$gpsprach" ],
"gpurl";
out " Eintrag wurde geändert ";
}
ich muss doch ein $ vor die inputfelder setzen, und ein $ war auch vorn gpurl (URL), nach der eckigen klammer steht
auch ein gpurl, aber das ist nach der syntax die datei (heisst zufällig wie ein feld).
aber habe nun mal alle $ rausgenommen, das ist falsch, dann ändert er z.b. das feld gpkat1 auf den inhalt "gpkat1"
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 28.Februar.2001, 22:19.
Re: problem mit änderungsformular
Was hast du nun für ein Problem? Versteh dich nicht.
Die db heißt gpurl. die gibst du hinter der ] an.
das Feld wird im Form name="gpurl=" mit dem wert xxx belegt, und dann im Template mit $gpurl angesprochen. bp weiss schon was zu tun ist und wo was hingehört
Sander
Antworten
Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 28.Februar.2001, 23:44.
Re: problem mit änderungsformular
hi sander,
du hast mir in deiner letzten hilfe-antwort geraten, alle $ rauszunehmen. habe ich gemacht, das hatte zur folge, dass er die felder mit den feldnamen und nicht deren inhalt gefüllt hat, also z.b. "gpkat1" im feld gpkat1. wenn ich es wieder rüchgängig mache, also der stand, den ich dir gestern gepostet habe, dann bleiben die felder leer.
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 1.März.2001, 13:54.
Re: problem mit änderungsformular
Antworten
Beitrag von Claus S. (1671 Beiträge) am Donnerstag, 1.März.2001, 14:37.
Re: FERTIG !!!!(problem mit änderungsformular
hallo sander,
war ein missverständnis von mir.
jetzt läuft es !!!
vielen dank nochmal
gruss claus
Antworten