Beitrag von Horst (39 Beiträge) am Samstag, 2.Oktober.2010, 21:30.
Wie kann man ein Eingabeformular erstellen?
Es ist ja schön, dass die ganzen schweren Sachen hier erklärt werden, aber ich bin bisher noch immer daran gescheitert, dass ich kein vernünftiges Eingabeformular bekomme.
Über die Einstellungsseite kann ich meine Felder zwar untereinander sortieren lassen, aber da fehlt eine logische Anordnung in Spalten, wenn ich do action all aufrufe
Das kann man wohl über eine <table> hinbekommen, ich habe sogar so ein Formular zurechtgebastelt durch Raubkopien, aber es trägt nichts in die DB ein.
Mir fehlt wie ich die Datenbank entsprechend anspreche, und wie ich die Daten dann eintrage.
Ein weiteres Problem ist dabei, dass ich auch noch Radiobuttons dabei habe.
Zum Schluss, ja, ich habe die Dokumentation durchgestöbert und auch die Easy-Tour versucht, doch die gibt falsche Anweisungen und spätestens bei der Rechtevergabe stimmt sie überhaupt nicht mehr.
Kann nicht mal jemand eine ganz einfache Anfänger DB in die Bibliothek stellen, mit allen Feldtypen, die dann in einer Tabelle ausgegeben werden und über ein Formular eingelesen werden können. Ohne sonstige Formatierung und ähnliches.
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 3.Oktober.2010, 00:48.
Re: Wie kann man ein Eingabeformular erstellen?
Antworten
Beitrag von horst (0 Beiträge) am Sonntag, 3.Oktober.2010, 13:53.
Re: Re: Wie kann man ein Eingabeformular erstellen?
Hallo Sander,
danke erst mal für die Antwort.
Die Felder kann ich schon in die REihenfolge bringen, die ich will, aber ich will nicht alle untereinander haben, sondern 1-3 nebeneinander. Also eine Tabelle o.ä.
mit do action all oder Input bekomme ich die Untereinanderlistung.
Ich schau nachher noch mal in der Doku nach, ob ich das Form finde.
Und wie meine SEite u.ä jetzt aussieht solltest du lieber nicht fragen. :-(
Ich versuche momentan durch die anderen Projekte in der Bibliothek schlau zu werden.
Horst
Antworten
Beitrag von Claus (4645 Beiträge) am Sonntag, 3.Oktober.2010, 14:53. WWW: hammoniaweb.com
Re: Re: Re: Wie kann man ein Eingabeformular erstellen?
ganz ohne etwas perl und html wird das nix...;)
nur mal ein Beispiel:
<perl>
if ($cmd eq "all")
{
get "Id==$Id";
out"<table border=0 cellpadding=0 cellspacing=20 width=20>
undsoweiter.........
}
<do action=all cmd=$cmd weitere Parameter....>
Auf diese Art gibt man dann die eigene! Detailausgabe aus.
Bei dem eigenen Formualr mußt Du halt die Vorgaben durch eine Tabelle ersetzen und die Felder entsprechend anordnen, siehe:
http://doku.baseportal.de/69.html
Also statt so( wie in dem Beispiel aus der Doku):
<table cellpadding="10" width="90%"> <tr> <td bgcolor="#f0f0f0"><c><form action="http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/Benutzername/Verzeichnis/Template&cmd=add"
method=post enctype="multipart/form-data">
<input type="hidden" name="cmd=" value="add">
<input type="hidden" name="htx=" value="/Benutzername/Verzeichnis/Template">
Jetzt folgen die Feldbezeichnungen, abhängig von der Datenbank:
##########Hier jetzt die selbst erstellte Tabelle mit den Variablennamen!!!!
out <<EOF;
<table>
<tr>td>Bitte geben Sie Ihren Vornamen an:</td><td> <input type="text" name="Vorname:="></td><td>Bitte geben Sie Ihren Nachnamen an:</td><input type="text" name="Nachname:="></td>
</tr>
<td>usw...............
</table>
<input type="submit" value="abschicken"><br>
</form>
Wie gesagt, ohne Kenntnisse wird das nix und es wird Dir wohl kaum jemand umsonst proggen...
Gruesse
Claus
Antworten
Beitrag von Horst (39 Beiträge) am Sonntag, 3.Oktober.2010, 20:17.
Re: Re: Re: Re: Wie kann man ein Eingabeformular erstellen?
Hallo Claus,
danke, das hat mir wohl etwas weitergeholfen. Ich will ja nicht ein ganzes Programm programmiert haben, sondern die Schnittstelle ist mir nicht klar.
Als Template habe ich jetzt eine Seite eingerichtet mit dem o.a. Code. Ich hoffe, das war mit dem Template gemeint.
Ich erhalte jetzt eine Seite, die das macht, was ich mir vorgestellt habe.
Aber eintragen kann ich sie nicht. Die Fehlermeldung erscheint, dass die Datenbank für den gewünschten Zugriff nicht freigegeben sei.
Diese Meldung habe ich auch bei anderen Versuchen bekommen.
Das Beispielformular habe ich umgesetzt, die STruktur des Radiobuttons habe ich hoffentlich richtig gemacht.
Unklar ist mir noch
1. out <<EOF; - da ist doch kein Perl code eingerichtet und wenn dann müsste ja auch noch ein schließendes EOF erscheinen. Was habe ich da übersehen?
2. Beim Input type="radio" name="Frage
gibt selfhtml keine := an, hier aber doch. In der Doku hatte ich mal was davon gelesen,finde es aber nicht wieder. Geht aber in beiden Formen nicht :-)
Hier meine Seite
<html><head></head><body>
Datenbank Test<br>
1 Name --- text Grösse=50<br>
2 Email --- text Grösse=50<br>
3 Frage --- radio Werte=1 2 3 4 5<br>
4 Ja/nein --- checkbox Ausgabe markiert=Ja<br>
<table cellpadding="10" width="90%"> <tr> <td bgcolor="#f0f0f0"><c><form action="http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/EBaer/test/test5/test3&cmd=add"
method=post enctype="multipart/form-data">
<input type="hidden" name="cmd=" value="add">
<input type="hidden" name="htx=" value="/EBaer/test/test5/test3">
<table>
<tr>
<td>Bitte geben Sie Ihren Namen an: </td>
<td><input type="text" name="Name:="></td>
<td>Bitte geben Sie Ihre Email an: </td>
<td><input type="text" name="Email:="></td>
</tr>
<td>Bitte werten Sie: </td>
<td>
NULL<input type="radio" name="Frage" value = 0 >
EINS<input type="radio" value = 1 name="Frage:=">
ZWEI<input type="radio" value = "Zwei" name="Frage:=">
</td>
<td>Bitte markieren Sie: </td>
<td>
Ja<input type="checkbox" name="Ja/nein:=" value = "ja">
Nein<input type="checkbox" name="Ja/nein:=" value = "jnein">
</td>
</tr>
<input type="submit" value="abschicken"><br>
Antworten
Beitrag von Horst (39 Beiträge) am Sonntag, 3.Oktober.2010, 21:42.
Re: Re: Re: Re: Re: Wie kann man ein Eingabeformular erstellen?
Hallo,
jetzt geht auch die Eingabe. Im Eingabe Template muss noch die Datenbank angegeben werden.
Danke.
Horst
Antworten
Beitrag von Claus (4645 Beiträge) am Montag, 4.Oktober.2010, 16:14. WWW: hammoniaweb.com
Re: Re: Re: Re: Re: Re: Wie kann man ein Eingabeformular erstellen?
Antworten
Beitrag von Horst (39 Beiträge) am Dienstag, 5.Oktober.2010, 17:30.
Klappt schon wieder nicht.: Re: Wie kann man ein Eingabeformular erstellen?
Hallo noch mal alle.
Ich habe nach der Seite Formular selbst erstellt http://doku.baseportal.de/69.html
eine einfache Umfrage erstellt. Datenbank ist testumfrage
Eine Seite Eingabe dient als Template:
<html><head></head><body>
<p><do action=input db=testumfrage></p>
<p>Vielen Dank für Ihren Eintrag.</p>
<body>
</html>
die Seite testumfrage enthält
<html><head><title>Wie finden sie die Beispiele?</title>
</head>
<body>
<table border="1" cellpadding="10" width="90%"> <tr>
<c><form action="http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/EBaer/testumfrage/Eingabe&cmd=add"
method=post enctype="multipart/form-data">
<input type="hidden" name="cmd=" value="add">
<input type="hidden" name="htx=" value="/EBaer/testumfrage/Eingabe">
<tr><td>Name: <input type="text" name="Name:="></td></tr>
<td>Ich finde die Beispiele:</td>
<td><input type="radio" name="wertung:=" value=0> schlecht </td>
<td><input type="radio" name="wertung:=" value=0> mittel </td>
<td><input type="radio" name="wertung:=" value=0> gut</td></tr>
</table>
</form>
</body></html>
Soweit alles wie angegeben. Die Seite sieht zwar nicht schön aus, aber ist ja auch für das Prinzip.
Doch lässt sie sich nur ausfüllen, nicht abschicken.
Aber bei meiner anderen, größeren mit mehr Feldern geht das nicht.
Habe ich was übersehen?
Was bewirkt eigentlich, dass die Seite abgeschickt wird? Ich weiß nicht, wonach ich in dem anderen BEispiel suchen soll.
Habe gerade noch einmal getestet und festgestellt, dass mit Enter anscheinend die Seite abgeschickt wird.
Horst
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 5.Oktober.2010, 17:59.
Re: Klappt schon wieder nicht.: Re: Wie kann man ein Eingabeformular erstellen?
es fehlt der submitknopf (<input type=submit>) und deine radioknöpfe haben alle den gleichen wert - egal was man anklickt.
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 5.Oktober.2010, 18:03. WWW: hammoniaweb.com
Re: Klappt schon wieder nicht.: Re: Wie kann man ein Eingabeformular erstellen?
hatte ich schon mal im Forum gepostet, aber hier noch mal zusammengefasst:
Tstlink:
http://baseportal.de/cgi-bin/baseportal.pl?htx=/Juergens/votum/vo
Hier der dazugehörige Quelltext:
out <<EOF;
<form action="baseportal.pl?htx=/Juergens/votum/vo&cmd=add" name="_baseportal_form0" method="post" enctype="multipart/form-data"><input type=hidden name="htx=" value="/Juergens/votum/vo"><input type=hidden name="cmd=" value="add"><tr><td align=right>Wertung:</td><br><td><input type="radio" name="Wertung:=" value="diese Seite ist ein Hit" checked> diese Seite ist ein Hit<br> <input type="radio" name="Wertung:=" value="diese Seite ist gut"> diese Seite ist gut <br><input type="radio" name="Wertung:=" value="diese seite ist ok"> diese seite ist ok<br> <input type="radio" name="Wertung:=" value="geht so"> geht so<br> <input type="radio" name="Wertung:=" value="mist"> mist</td></tr><tr><td></td><td nowrap><br><input class=submit type=submit value="Abschicken"> </td></tr></form>
EOF
</perl>
<loop db=vo code=perl>
$Wertung{$Wertung}++;
</loop>
<perl>
foreach my $k (sort keys %Wertung)
{
out "$k:$Wertung{$k}<br>";
}
</perl>
DB mußt Du ändern und die Felder entsprechend in die DB inbauen!!!
Hoffe, es hilft dir als Ansatz...;)
Gruesse
Claus
Antworten
Beitrag von Horst (39 Beiträge) am Dienstag, 5.Oktober.2010, 20:53.
Re: Re: Klappt schon wieder nicht.: Re: Wie kann man ein Eingabeformular erstellen?
Hallo Sander,
danke, das wars!
Hallo Claus,
danke für den Ansatz. Da muss ich noch ein wenig experimentieren, aber das hilft mir auch weiter.
Horst
Antworten
Beitrag von Claus (4645 Beiträge) am Montag, 4.Oktober.2010, 16:16. WWW: hammoniaweb.com
Re: Re: Re: Re: Re: Re: Wie kann man ein Eingabeformular erstellen?
Antworten