Michael: per Formular Daten von einer ASP zur anderen ASP Seite senden

Moin,

  1. Dieses Forum ist Spitze, als Anfänger lernt mann sehr viel und bekommt Info's zu allen Themen :-)))

  2. Ich möchte in einem Formular das ich mittels ASP erstellt habe daten an eine andere ASP Seite senden dies gelingt mir !?!?!?
    nur sendet der die erste Zeile der Datenbank. d.h. der Preis für die Komponenten steht in der URL aber egal welche Komponenten ich aus dem DropDown feld auswähle der Preis bleibt gleich !!!

Ich hoffe das mir jemand weiterhelfen kann :-<<<

Hier der Quelltext:

<form action="berechne.asp?<%=Server.HTMLEncode(rs.Fields("preisNB").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisCPU").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisRAM").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisHD").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisCD").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisOS").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisDFUE").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisNT").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisDS").Value)%>" method="POST">
<p><b><font face="Arial" size="1">Notebook auswählen:</font></b><br>
<select name="NB" size="1">
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
if rs.Fields("artnrNB")>0 then
%>
<option value="<%=Server.HTMLEncode(rs.Fields("artnrNB").Value)%>"><%=Server.HTMLEncode(rs.Fields("bezNB").Value)%>
<%
else
end if
rs.MoveNext
loop
%>
</select> </p>

<p><b><font face="Arial" size="1">Prozessor auswählen:</font></b><br>
<select name="CPU" size="1">
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
if rs.Fields("artnrCPU")>0 then
%>
<option value="<%=Server.HTMLEncode(rs.Fields("artnrCPU").Value)%>"><%=Server.HTMLEncode(rs.Fields("bezCPU").Value)%>
<%
else
end if
rs.MoveNext
loop
%>
</select> </p>

<p><b><font face="Arial" size="1">Arbeitsspeicher auswählen:</font></b><br>
<select name="RAM" size="1">
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
if rs.Fields("artnrRAM")>0 then
%>
<option value="<%=Server.HTMLEncode(rs.Fields("artnrRAM").Value)%>"><%=Server.HTMLEncode(rs.Fields("bezRAM").Value)%>
<%
else
end if
rs.MoveNext
loop
%>
</select> </p>

<p><b><font face="Arial" size="1">Festplatte auswählen:</font></b><br>
<select name="HD" size="1">
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
if rs.Fields("artnrHD")>0 then
%>
<option value="<%=Server.HTMLEncode(rs.Fields("artnrHD").Value)%>"><%=Server.HTMLEncode(rs.Fields("bezHD").Value)%>
<%
else
end if
rs.MoveNext
loop
%>
</select> </p>

<p><b><font face="Arial" size="1">CD-ROM / DVD auswählen:</font></b><br>
<select name="CD" size="1">
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
if rs.Fields("artnrCD")>0 then
%>
<option value="<%=Server.HTMLEncode(rs.Fields("artnrCD").Value)%>"><%=Server.HTMLEncode(rs.Fields("bezCD").Value)%>
<%
else
end if
rs.MoveNext
loop
%>
</select> </p>

<p><b><font face="Arial" size="1">Betriebssystem auswählen:</font></b><br>
<select name="OS" size="1">
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
if rs.Fields("artnrOS")>0 then
%>
<option value="<%=Server.HTMLEncode(rs.Fields("artnrOS").Value)%>"><%=Server.HTMLEncode(rs.Fields("bezOS").Value)%>
<%
else
end if
rs.MoveNext
loop
%>
</select> </p>

<p><b><font size="2" face="Arial">Komponenten:<br>
</font><font face="Arial" size="1"><br>Modem auswählen:</font></b><br>
<select name="DFUE" size="1">
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
if rs.Fields("artnrDFUE")>0 then
%>
<option value="<%=Server.HTMLEncode(rs.Fields("artnrDFUE").Value)%>"><%=Server.HTMLEncode(rs.Fields("bezDFUE").Value)%>
<%
else
end if
rs.MoveNext
loop
%>
</select> </p>

<p><b><font face="Arial" size="1">Netzwerkkarte auswählen:</font></b><br>
<select name="NT" size="1">
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
if rs.Fields("artnrNT")>0 then
%>
<option value="<%=Server.HTMLEncode(rs.Fields("artnrNT").Value)%>"><%=Server.HTMLEncode(rs.Fields("bezNT").Value)%>
<%
else
end if
rs.MoveNext
loop
%>
</select> </p>

<p><b><font face="Arial" size="1">Dockingstation auswählen:</font></b><br>
<select name="DS" size="1">
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
if rs.Fields("artnrDS")>0 then
%>
<option value="<%=Server.HTMLEncode(rs.Fields("artnrDS").Value)%>"><%=Server.HTMLEncode(rs.Fields("bezDS").Value)%>
<%
else
end if
rs.MoveNext
loop
%>
</select> </p>
<input type=submit value="Senden">
</form>

Ciao

Michael, Webmaster der FFW.

  1. <form action="berechne.asp?<%=Server.HTMLEncode(rs.Fields("preisNB").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisCPU").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisRAM").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisHD").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisCD").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisOS").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisDFUE").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisNT").Value)%>,<%=Server.HTMLEncode(rs.Fields("preisDS").Value)%>" method="POST">

    Hallo Michael,

    das ist denn schonmal falsch. Du übergibst dem Formular die Daten des ersten Datensatzes. Du möchtest aber doch die Werte aus den Listboxen, oder?
    Korrekte Syntax für die Werte, wenn Du sie doch so übergeben willst:
    <form action="berechne.asp?Feld1=<%...%>&Feld2=<%...%>">
    Eine Trennung mit einem Komma "," wird auf der Empfängerseite nicht richtig erkannt und führt auch zu Fehlern.

    Das Formular würde ich ungefähr so aufbauen:

    <form action="berechne.asp" method="POST">
    <select name="..." size="1">
    <%
    rs.MoveFirst
    Do While Not rs.EOF
    %>
       <option value="<%=rs.Fields("...")%>"><%=rs.Fields("value")%>
    <%
        rs.MoveNext
    Loop
    %>
    ...
    </form>

    Auf der Empfangsseite kannst Du nun die Daten auslesen:

    <%
    If Request("...") <> "" Then
        Response.Write "Preis ... : " & Request("...")
    End if
    %>

    oder so ähnlich.

    Tschau, Stefan

  2. Moin,

    1. Dieses Forum ist Spitze, als Anfänger lernt mann sehr viel und bekommt Info's zu allen Themen :-)))

    2. Ich möchte in einem Formular das ich mittels ASP erstellt habe daten an eine andere ASP Seite senden dies gelingt mir !?!?!?
      nur sendet der die erste Zeile der Datenbank. d.h. der Preis für die Komponenten steht in der URL aber egal welche Komponenten ich aus dem DropDown feld auswähle der Preis bleibt gleich !!!

    Ich hoffe das mir jemand weiterhelfen kann :-<<<

    <schnippschnapp>Quelltext</schnippschnapp>

    Ciao

    Michael, Webmaster der FFW.

    Gruß Micha....

    Post und Get vermischen... da liegt evt. der Fehler.

    Wenn du die SQL Abfrage ausführst, und dann gleich verwendest, wird immer der erste Datensatz zugrunde gelegt.. deswegen wahrscheinlich auch immer der selbe Preis.

    Mein TIP: Nimm eine Tabelle für die Formulareingaben mit eindeutiger Kennung und eine zweite für die Produktinfos, die Verknüpfung erfolgt anhand der eindeutigen Kennung. So kannst du in den Formularfeldern sauber mit wenig Daten arbeiten und fragst erst die Preise ab, wenn sie zur berechnung gebraucht werden.
    die Kennung übergibst du einfach in die WHERE Klausel der folgenden SQL-Abfrage.

    Mein Tip 2:
    Übergib Artikelnummer und Preis zusammen nach Schema: value="<%=rs("artnr")%>_<%=rs("price")%>"  -- dann trennst du im folgenden den String auseinander und konvertierst den hinteren Teil zurück ins Double-Format oder was auch immer du da brauchst zum Berechnen.

    Hoffe, ich hab dich geholfen...

    Frank

  3. Danke erstmals für eure schnelle Hilfe :-))))

    Falls Ihr noch vorschläge oder tipps habt könnt ihr sie hier oder an meine E-Mail adresse senden. Danke

    ciao

    Michael

  4. Danke erstmals für eure schnelle Hilfe :-))))

    Falls Ihr noch vorschläge oder tipps habt könnt ihr sie hier oder an meine E-Mail adresse senden. Danke

    ciao

    Michael