Zum Forum springen
Benachrichtigungen
Alles löschen

html form Application

16 Beiträge
4 Benutzer
0 Reactions
995 Ansichten
grimbadul
Beigetreten: 20.08.2009
PokerStrategist

Hi ich soll ne manage Membership für meine website schreiben. Habe bereits ne Datenbank und auch schon die Membership Application zum laufen gebracht. Jetzt soll ich noch eine weiter zur UPDATE, DELETE, NEW, READ machen. Diese sieht wie folgt aus: http://student.fgcu.edu/rboggs/wu/wu032/Reuther/impress.asp (kein informatiker am werk...)
der Prof will nun, dass wenn ich auf new member klicke, die Application möglich ist ( http://student.fgcu.edu/rboggs/wu/wu032/Reuther/membership.asp ), wenn ich auf delete klicke, der name den ich eingegeben habe geprüft und anschließend gelöscht wird... usw.

Wie kann ich den buttons jeweils klar machen, dass sie bei klick auf unterschiedliche Seiten gelangen? Ich habe das Problem, dass ich ja nur eine form habe, die nur eine action hat?!

need help plz


Antwort
Zitat
15 Antworten
sarc
Beigetreten: 06.06.2008
PokerStrategist

Allen Buttons den gleichen Namen geben (nicht die gleiche ID) und dann im Script den Wert prüfen. Damit kriegst raus welcher Button geklickt wurde.

Wenn ihr HTML 5 benutzt gäbe es da noch das formaction-Attribut...


Antwort
Zitat
Nerrik
Beigetreten: 12.09.2006
Oldschool Grinder

<form action="test1.php" method=post>
<input type=submit name=submitbutton1 value=submitbutton1>
<input type=submit name=submitbutton2 value=submitbutton2>
</form>

<?php
if (isset($_POST['submitbutton1']))
echo "submitbutton1";
if (isset($_POST['submitbutton2']))
echo "submitbutton2";
?>

so musst du nicht 2 verschiedene php scripte aufrufen bzw kannst deine scripte/ funktionen an den echo stellen einbinden


Antwort
Zitat
Nerrik
Beigetreten: 12.09.2006
Oldschool Grinder

geht aber auch mit javascript:

<form action="test1.php" name=testform method=post>
<input type=submit name=submitbutton1 value=submitbutton1>
<input type=submit name=submitbutton2 value=submitbutton2 onclick="document.testform.action='test2.php';">
</form>


Antwort
Zitat
grimbadul Themenstarter
grimbadul
Beigetreten: 20.08.2009
PokerStrategist

Ok danke euch... ich probiere mal ein wenig rum


Antwort
Zitat
grimbadul Themenstarter
grimbadul
Beigetreten: 20.08.2009
PokerStrategist

Original von Nerrik
geht aber auch mit javascript:

<form action="test1.php" name=testform method=post>
<input type=submit name=submitbutton1 value=submitbutton1>
<input type=submit name=submitbutton2 value=submitbutton2 onclick="document.testform.action='test2.php';">
</form>

ok hab das hier jetzt verwendet... wenn ich allerdings den input type="button" gebe, weil ich nicht will das er sich zb beschwert wenn nichts eingegeben ist, passiert gar nix.


Antwort
Zitat
Nerrik
Beigetreten: 12.09.2006
Oldschool Grinder

Original von grimbadul

Original von Nerrik
geht aber auch mit javascript:

<form action="test1.php" name=testform method=post>
<input type=submit name=submitbutton1 value=submitbutton1>
<input type=submit name=submitbutton2 value=submitbutton2 onclick="document.testform.action='test2.php';">
</form>

ok hab das hier jetzt verwendet... wenn ich allerdings den input type="button" gebe, weil ich nicht will das er sich zb beschwert wenn nichts eingegeben ist, passiert gar nix.

wenn du buttons nimmst musst du der form auch noch sagen das sie "submiten" soll.
das geht mit javascript: document.testform.submit();

<form action="test1.php" name=testform method=post>
<input type=button name=submitbutton1 value=submitbutton1 onclick="document.testform.submit();">
<input type=button name=submitbutton2 value=submitbutton2 onclick="document.testform.action='test2.php';document.testform.submit();">
</form>


Antwort
Zitat
Nerrik
Beigetreten: 12.09.2006
Oldschool Grinder

geht z.b. auch mit nem normalen textlink
klickmich

wenn das nicht geht, hast du warscheinlich noch eine abfrage in javascript die nur submited wenn alle felder ausgefüllt sind, dann musst du mit einer if abfrage hier die überprüfung unterbinden wenn der delete button gedrückt wurde.
edit:
oder noch besser aus der form das "onsubmit="meineprüffunktion()"" rausnehmen und nur mit onclick dem button zuordnen wo dann tatsächlich geprüft werden soll ob alle felder ausgefüllt sind.

poste dann zur not mal deine form mit dem dazugehörigem javascript.


Antwort
Zitat
grimbadul Themenstarter
grimbadul
Beigetreten: 20.08.2009
PokerStrategist

Original von Nerrik

Original von grimbadul

Original von Nerrik
geht aber auch mit javascript:

<form action="test1.php" name=testform method=post>
<input type=submit name=submitbutton1 value=submitbutton1>
<input type=submit name=submitbutton2 value=submitbutton2 onclick="document.testform.action='test2.php';">
</form>

ok hab das hier jetzt verwendet... wenn ich allerdings den input type="button" gebe, weil ich nicht will das er sich zb beschwert wenn nichts eingegeben ist, passiert gar nix.

wenn du buttons nimmst musst du der form auch noch sagen das sie "submiten" soll.
das geht mit javascript: document.testform.submit();

<form action="test1.php" name=testform method=post>
<input type=button name=submitbutton1 value=submitbutton1 onclick="document.testform.submit();">
<input type=button name=submitbutton2 value=submitbutton2 onclick="document.testform.action='test2.php';document.testform.submit();">
</form>

mein problem ist aber (ich finde den Aufbau, den der Prof will, ehrlich gesagt sehr umständlich aber gut...), dass ich nicht jedem button submitten lassen will... wenn ich zb auf Display Member drücke, will ich ohne submitten einfach ne neue Seite aufrufen... Aber wenn ich type="button" einstelle, leitet er nicht weiter..
bei update will ich aber submitten, weil da natürlich relevant ist, was eingegeben wird

edit:

<input type="button" id="btnSubmit" value="Display Members" onclick ="document.frmMember.action=' http://student.fgcu.edu/rboggs/wu/wu032/Reuther/read.asp';"/>
<input type="button" id="btnSubmit" value="New Member" class="button" onclick="document.frmMember.action=' http://student.fgcu.edu/rboggs/wu/wu032/Reuther/membership.asp';"/> <input type="button" id="btnSubmit" value="Update Member"/> <input type="button" id="btnSubmit" value="Delete Member"/>

die ersten 2 buttons sollen dementsprechend aussehen: type=button, weil keine Eingabe erfolgen soll und einfach wie ein Link weiterleiten


Antwort
Zitat
Nerrik
Beigetreten: 12.09.2006
Oldschool Grinder

na wenn keine daten übergeben werden sollen ans ziel isses einfach:

<input type=button name=submitbutton2 value=submitbutton2 onclick="window.location.href = 'test2.php';">


Antwort
Zitat
grimbadul Themenstarter
grimbadul
Beigetreten: 20.08.2009
PokerStrategist

ah perfekt danke :)


Antwort
Zitat
Nerrik
Beigetreten: 12.09.2006
Oldschool Grinder

btw:

<input type="button" id="btnSubmit" value="Display Members" onclick ="document.frmMember.action=' http://student.fgcu.edu/rboggs/wu/wu032/Reuther/read.asp';"/>
<input type="button" id="btnSubmit" value="New Member" class="button" onclick="document.frmMember.action=' http://student.fgcu.edu/rboggs/wu/wu032/Reuther/membership.asp';"/> <input type="button" id="btnSubmit" value="Update Member"/> <input type="button" id="btnSubmit" value="Delete Member"/>

und np ;)


Antwort
Zitat
grimbadul Themenstarter
grimbadul
Beigetreten: 20.08.2009
PokerStrategist

so versuche jetzt gerade einen Eintrag aus der Datenbank zu löschen. Dazu schreibe ich vor und nachname in die Inputfelder und übergebe die dann in die Weiterleitung.
das Ganze sieht bei mir im mom so aus:

<% valFName = request.querystring("txtFName")%> <% valFName = request.querystring("txtLName")%>
<%Set Conn = Server.CreateObject("ADODB.Connection")%>
<%Set Rs = Server.CreateObject ("ADODB.Recordset")%> <%Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("data/Datenbank11.mdb")%>
<%sql="Delete * FROM Tabelle1 WHERE txtLName ='" &valLName &"' AND txtFName ='" &valFName&"'"%>
<%RS.Open sql, Conn%> <%Conn.Close%> <%Set Conn = nothing%>

Die Seite gibt mir leider keine Fehlermeldung aus... weiß nicht wo mein Fehler liegt


Antwort
Zitat
Nerrik
Beigetreten: 12.09.2006
Oldschool Grinder

sry da kann ich dir atm nicht helfen.
hab im mom keine asp Entwicklungsumgebung.

evtl hilft es ja deinen SQL Befehl mal als String auszugeben und diesen mit einem Datenbanktool zu testen


Antwort
Zitat

Warum würde man sowas in asp machen und nicht im Backend dahinter?!?
Das ganze Ding sieht ziemlich gepfuscht aus.

Das heists übringens nicht DELETE * FROM , sondern DELETE FROM ...

Das ganze ist übrigens ziemlich anfällig gegen SQL Injection, kenne mich mit asp nicht aus, aber in Java kann man z.b. PreparedStatements verwenden.

Zu der Application: Clientseitig jQuery verwenden und das komplett ohne Form alles AJAX basiert machen, wenn du eh mehrere Aktionen hast.


Antwort
Zitat
Nerrik
Beigetreten: 12.09.2006
Oldschool Grinder

Naja das ein Anfänger sich über SQL Injection bei "Hausaufgaben" keine Sorgen machen muss ist ja wohl normal. Sieht ja so aus als würde er hier ganz von vorne anfangen.

jQuery ist ne geile Sache, trozdem sollte man auch erstmal das normale Javascript lernen und allgemein rumprobieren.

Ajax ist auch fuer Fortgeschrittene, weil man hier ohne Kenntnisse auch viele Nachteile hatt.
Googleoptimierung, Browsercache, Sicherheit etc.
Da muss man sich schon auskennen ;)


Antwort
Zitat
Teilen: