Peter Anders: String/Variable an eine neue Datei übergeben

Hallo Forum,
wie kann ich Variablen die ich in einer Datei, in einem Formular abfrage, an eine andere *.asp Datei übergeben? Zb Frage ich in der ersten Datei nach, welche Hintergrundfarbe die Tabelle haben soll (und speichere die Variable) dann frage ich den text ab mit <input type="text"> das alles speichere ich in nem String mit <input type="submit" name="ok"> dann will ich aber das nachdem ich die Taste gedrückt habe, neue Seite kommt mit dem Inhalt was ich gespeichert und eingegeben habe.

Vielleicht versteht ihr mich und schon mal danke.

Gruß peter

  1. Hallo Peter

    Session-Variablen ist dein Stichwort. Schau dir mal http://www.w3schools.com/asp/asp_sessions.asp an.

    MfG

    Tom2

    1. Hallo Tom2

      Session-Variablen ist dein Stichwort. Schau dir mal http://www.w3schools.com/asp/asp_sessions.asp an.

      Da konnte ich leider nicht viel über Formulare finden. Ich weiß ja wie ich sie speichern kann, da arbeite ich ja am Ende mit include. Aber wie schaffe ich mit submit=ok variablen zu speichern und sie auf die nächste Seit zu bringen?`

      Gruß und Danke Peter

      1. Hallo Peter,

        Auf der nächsten Seite kannst Du die Formulardaten mit Request.Form("Feldname") abfragen.

        Grüße
        Andreas

        1. Hallo,

          mit:

          variable = trim(request.form("name_des_feldes"))

          erhältst du daten wenn dein form in der vorhergehenden seite mit method="post" angelegt wurde...

          steht es dagegen auf method="get" geht das mit:

          variable = trim(request.querystring("name_des_feldes"))

          Odium

          1. Hi Odium,
            ja das war mir ja schon klar, aber der Rest nicht unbedingt, wenn ich mit action="zweiteSeite" angebe und auf ok drücke wird die nicht geladen und ich weiß nicht warum..

            1. Hallo,

              bei action  muss ein korrekter Dateiname rein z.B. zweiteseite.htm, außerdem müssen pfade beachtet werden...

              Odium

        2. Hallo Andreas,

          Auf der nächsten Seite kannst Du die Formulardaten mit Request.Form("Feldname") abfragen.

          Ja das mit dem request.form ist mir klar.. aber ich will ja auf ok klicken, dann sollte die neue dateigeladen werden mit den Werten, die in diesen Formular reinkamen. Das ist mein Problem, ich weiß nicht wie ich das verbinden kann. Aber trotzdem danke.

          Gruß Peter

  2. Hallo,

    wenn du da nor Formular-Objekte hast sollst du die mit Request.Form auf der neuen Seite abfragen:

    Request.Form("Formlar-Objekt-Name")

    wenn du aber die Werte zu einem String zusammengefasst hast, dann musst du als zugewiesener Wert übergeben und mit Request.QueryString abfragen:

    strText1="blabla"
    strText2="hahaha"
    ...

    <Form action="neueseite.asp?T1=<%=strText1%>&T2=<%=strText2%>" method=post>

    neue Seite:

    A=Request.QueryString(T1)
    B=Request.QueryString(T2)

    Sohail

    1. Hallo Sohail,

      ja die Variablen hatte ich in der gleichen Datei abgefragt, wie Du auch schon gesagt hast > Request.form usw oder sollte ich sie in der anderen Datei abfragen? Kann ich die einfach nicht übergeben und zwar mit include? hmm und wie bekomme ich das hin daß mit value=ok sie übernommen werden und dazu eine neue Seite geladen werden?

      gruß peter

      1. Hallo,

        ich bin nicht sicher, dass ich dich richtig verstanden habe.
        Wenn do ein Formular und einen Form-Tag hast, wird beim OK-klick automatisch die neue Seite geladen, dafür brauchst du nichts extra machen. Also nochmal:

        Erste seite:

        <form action="zweiteseite.asp" method="post">
         <input type="text" name="test">
         <input type="submit" value=" OK ">
        </form>

        Zweite seite:

        <%
          Dim strForm
          strForm=Request.Form("test")

        'mit response.write kannst du den Wert ausgeben

        Response.Write(strForm)
        %>

        Was du jetzt auf der zweiten Seite mit der Variable strForm machst ist deine Sache. Wenn sie einen Farb-Wert beihaltet, benutzt du sie z.B. so:

        <body bgcolor="#<%=strForm%>" >

        Sohail

        1. AHHHHHHH ich schaue nochmal... Danke DIR!!!!

        2. Hi Sohail,
          also gerade hatte ich was ausprobiert... hatte die Variablen auf der ersten Seite abgefragt, dann hatte er die Tabelle unter meinem Formular aufgebaut, aber die sollte alleine im zweiten Fenster erscheinen. Nun hab ich diesen Request.form in die Zweite datei verschoben, nun passiert gar nichts wenn ich auf Ok drücke.. :( Idee?

          Gruß Peter

          1. Hi,

            du kannst zwar dieselbe datei beim action aufrufen, aber es ist besser, dass an diesem Stelle mit zwei Dateien arbeitest, damit die funktionalität dir deläufig ist.

            wenn du eine Datei hast:

            Feld1=TRIM(Request.Form("Feld1"))
            Feld2=TRIM(Request.Form("Feld2"))
            ...

            du brauchst jetzt eine IF-Abfrage, z.B. so:
            <%
            IF Feld1<>"" AND Feld2<>"" THEN
            %>
            Deine Tabelle
            <%
            ELSE
            %>
            Dein Formular
            <%
            END IF
            %>

            Sohail

  3. Hallo Forum,
    wie kann ich Variablen die ich in einer Datei, in einem Formular abfrage, an eine andere *.asp Datei übergeben? Zb Frage ich in der ersten Datei nach, welche Hintergrundfarbe die Tabelle haben soll (und speichere die Variable) dann frage ich den text ab mit <input type="text"> das alles speichere ich in nem String mit <input type="submit" name="ok"> dann will ich aber das nachdem ich die Taste gedrückt habe, neue Seite kommt mit dem Inhalt was ich gespeichert und eingegeben habe.

    Vielleicht versteht ihr mich und schon mal danke.

    Gruß peter

    Hi Peter,

    irgendwie drückst du dich ungenau aus. Ich bemühe mich aber mal, dich zu verstehen.

    um Werte von einer ASP seite an eine andere zu übergeben kannst du entweder die Formular-Methode verwenden oder das Session-Objekt.

    Dein Verlangen klingt nach der Formular-Methode, egal ob und wenn wie viele Frames:

    1. du hast ein Eingabeformular

    Zb Frage ich in der ersten Datei nach, welche Hintergrundfarbe die Tabelle haben soll (und speichere die Variable) dann frage ich den text ab mit <input type="text"> das alles speichere ich in nem String mit <input type="submit" name="ok">

    wie fragst du nach?
    wohin bitte speicherst du die Variable (hintergrundfarbe??)?
    welchen Text fragst du ab, womit? -> mit einem <input> vom type="text"
    was für ein String, wo kommt der her, wo geht der hin
    wie willst du mit einem submit-input etwas in einem String speichern?

    2. mit einem klick auf diesen <input> vom type="submit" und mit Namen "ok" soll die Seite neu geladen werden und der Text aus der Formulareingabe auf der (über das Formular) angegebenen Hintergrundfarbe erscheinen

    3. wo liegt dabei das Problem?
    du gibst an, wohin das Formular gesendet wird (mittels action)
    wenn es sich um die selbe datei handelt, dann mußt du die gesendeten Daten des Formulars auswerten, bevor du HTML an den Client zurückschickst (bzw. bevor du die entsprechenden HTML elemente bringst). in deinem Fall vor <body>, die hg farbe kannst du dort ja mittels bgcolor=<%=hgwert_variable %> oder style="background-color:<%=hgwert_variable %>;" einbinden, und den Text kannst du mit <% Response.Write txt_variable %> zwischen die beiden HTML-Elemente setzen, wo du's gern haben möchtest. Natürlich solltest du für beides sogenannte Default-Werte an erster Stelle setzen, z.b. für den Hintergrund #ffffff.

    4. gespeichert hast du damit noch nichts? wo auch, du hast ja nix angegeben, wo (Datei,DB) es gespeichert werden soll

    Überdenke nochmal bitte dein Problem und gehe schrittweise an die Auflösung. Mach dir einen logischen Plan, welche Aktion wann erfolgen muß, dann setze diese Punkte mithilfe der VBScript oder JScript Mittel in ASP um.

    Gruß, Frank

    1. Hallo Frank,
      wow Du hattest Dir ja richtig die Mühe gegeben, danke... ich werde nochmal alles durchgehen.. :) Wie Du ja wahrscheinlich mitbekommen hast, bin ich noch ein Anfänger in ASP.. (nicht aber in HTML :) )

      Gruß Peter

      1. Hallo Frank,
        wow Du hattest Dir ja richtig die Mühe gegeben, danke... ich werde nochmal alles durchgehen.. :) Wie Du ja wahrscheinlich mitbekommen hast, bin ich noch ein Anfänger in ASP.. (nicht aber in HTML :) )

        Gruß Peter

        Hi,

        ich nehme an, daß du Anfänger bist, deswegen versuch ichs ja auch sauber zu erklären. Ist ja auch nicht tragisch, ob Anfänger oder nicht. Dazu beschäftigt man sich ja mit der Materie :-)

        Wichtig ist aber, logisch zu denken, bevor man irgendwas programmiert.
        -> Grobvorstellung, was will man?
        -> schrittweises Vorgehen/Aufbauen der Semantik
        (in deinem Fall) Benutzereingabe in Feld HG-Farbe, Benutzer schickt Formular ab, Formular ruft sich selbst (eigene Datei) auf, Formulareingaben auswerten, gesendeten Wert für Hintergrundfarbe feststellen und entsprechendes HTML aufbauen (body bgcolor....)
        u.s.w.
        -> zusammensuchen der benötigten Objekte und Methoden/Funktionen/Eigenschaften aus der entsprechenden ASP-Sprache... (ja,ja ASP is keine sprache... ich weiß) für die einzelnen Ablaufpunkte  -> dazu gibt es eine ganze Menge Online-Hilfen, Dokumentationen, Literatur etc
        -> schreiben der benötigten Funktionen/Prozedere
        -> ausprobieren, modifizieren, ausprobieren, freuen

        Dann werden die Probleme auch spezifischer und können besser formuliert und erfragt werden. So benötigen Leute vom Fach weniger Zeit um dir zu helfen, können gezielter helfen. Oder sie (die Probleme) lösen sich gleich von selbst.

        So, bei weiteren Fragen darfst du gern weiterposten, hier im Thread natürlich, solange er in der Hauptdatei sichtbar bleibt.

        Viele Grüße,
        Frank

  4. HALLO AN ALLE!!!
    Danke euch allen, ich habs hingekriegt, der ASP Code war an der flaschen Stelle gg..

    gruß Peter