Re: input type="hidden" - neues Problem - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Sander (8133 Beiträge) am Samstag, 4.November.2000, 03:44.
    Re: input type="hidden" - neues Problem

      Das mit der Variablen-übergabe klappt ja ganz gut. Doch da kommt ein neues Problem. ich hab den Aufruf verändert, um gleichzeitig auch die schon eingetragenen Daten über das Gebiet abzurufen.
      <a href="/cgi-bin/baseportal.pl?htx=/deinname/deineeingabeseite&neuGebiet=xxx&Gebiet==xxx"> - klappt beim Aufruf. Aber füllt jemand das Form aus, listet er mir nach der Meldung "Eintrag hinzugefügt" alle Datensätze auf. Ich habs bei der Ausgabe schon mit <loop Gebiet^==$neuGebiet> probiert, aber das wird komplett ignoriert, d.h. er listet nix mehr. Kann mir jemand helfen?
      


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Sander (8133 Beiträge) am Mittwoch, 1.November.2000, 16:39.
    input type="hidden" im Formular?

      Wie setze ich es um, das beim Aufruf des Eingabeformulars von verschiedenen Seiten über die URL ein versteckter Wert gesetzt wird, der die Seite identifiziert, von wo der Aufruf erfolgte?

      Also von Seite 1 soll das Formular aufgerufen werden und dabei gleichzeitig das Feld "Seite" den Wert "1" bekommen, ohne das der Benutzer im Formular es selber eingeben muß, also unsichbar erscheint. Das gleiche von Seite 2 usw. Die Daten sollen dann in ein und derselben db gespeichert werden und nach den Seitennummern abgerufen werden können.

     Antworten

    Beitrag von anonym (129 Beiträge) am Mittwoch, 1.November.2000, 19:43.
    Re: input type="hidden" im Formular?

      Javascript:
      Das Objekt location enthält die Linkadresse, von der aus der Aufruf erfolgte, wenn überhaupt ein Link benutzt wurde und nicht über die URL direkt in die Statuszeile eingegeben wurde.

      Perl:
      Der Wert steht vielleicht (?) in der ENV-Variable, du schreibst ihn in diesem Fall mit Perl in das versteckte Element. Also: out "<form><input type=hidden name=\"beispiel\" value =",$Adresse,"></form>"

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 2.November.2000, 02:35.
    Re: input type="hidden" im Formular?

      vielsten Dank, werd es probieren

     Antworten

    Beitrag von anonym (129 Beiträge) am Donnerstag, 2.November.2000, 13:56.
    Re: input type="hidden" im Formular?

      Nochmal genauer:

      Javascript: Das location-objekt enthält doch nicht die letzte URL-Adresse, zumindest bisher.

      In Perl: Der Env-Hash enthält die letzte URL.

      $LetzteURL = $ENV{'HTTP_REFERER'};
      

      Nun $LetzeURL einfach in den value (Wert) in das hidden Element hineinschreiben, wie schon gezeigt. Soll dieser Wert in einer Datenbank landen, geht das mit Perl über den BP-Befehl Push oder über einen Aufruf des Baseportal-CGIs mit einem BP-Kommando wie "add". Näheres dazu ist in der Dokumentation zu lesen.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 2.November.2000, 17:15. WWW: www.snowpage.de
    Re: input type="hidden" im Formular?

      Also ich hab immernoch Probleme, es nachzuvollziehen, habe nämlich kaum Ahnung von Perl. Bei deiner Lösung wird die URL mitgeschickt, versteh ich das richtig?
      Die URL von der Seite, von der der Aufruf per Link erfolgte, nutzt mir leider nix. Ich hab eine Skigebietsseite mit Bewertung der Skigebiete und brauche nur bei der Ausgabe das Feld "Gebiet" -
      Überschrift ist nämlich "Meinungen zum $gebiet", und es sollen nur Informationen zu diesem Gebiet ausgegeben werden. Zur Zeit habe ich für jedes Gebiet eine eigene Db, es ist aber zu umständlich beim ändern.
      Also, ich rufe jetzt von Gebiet a das Template auf, und beim Ausfüllen des Formulars soll das Gebiet mit geschickt werden, ohne das es angezeigt wird. da müßt ich ja eigentlich auf der Seite a eine Variable erstellen, die ins Template mit übernommen und ans Formular übergeben wird. Gebe ich bei Listfield=Gebiet
      mit an, erscheint es auch im Formular, das ist nicht schick. Jetzt läuft es noch über ein optionfeld, das nicht verändert werden kann, sieht aber auch nicht gut aus, und ich brauche halt eine Db für jedes Gebiet. Vieleicht findest du noch eine Lösung. Vielen Dank für die Mühe.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 2.November.2000, 18:48.
    Re: input type="hidden" im Formular?

      Teil der Lösung hab ich gefunden. Der wert wird in die Db geschrieben. Fehlt mir nur noch die Möglichkeit, auf der Seite, von der das Template aufgerufen wird, einen Wert als Variable zu setzen, die dann in das Formular als value""eschrieben wird.

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 3.November.2000, 14:47.
    Re: input type="hidden" im Formular?

      Also ich hoffe, ich hab alles richtig verstanden. Im Prinzip seid ihr beide schon nahe dran. Von der aufrufenden Seite (von der Du ja mehrere verschiedene hast) musst Du einen Wert über die URL mitschicken, das sieht z.B. so aus:

      <a href="/cgi-bin/baseportal.pl?htx=/deinname/deineeingabeseite&neuGebiet=xxx">Zur Eingabe</a>
      

      Nun kannst Du auf der Formularseite eben mit

      <input type=hidden name="Gebiet:=" value="$neuGebiet">
      

      das Gebiet setzen. Ich habe mit Absicht die Variable "neuGebiet" genannt, damit Sie sich mit dem Feld "Gebiet" nicht in die Quere komme...

      Viel Erfolg!

      Grüsse,

      Christoph...

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 3.November.2000, 15:12.
    Re: input type="hidden" im Formular? gelöst

      Na, das funzt doch wunderbar.
      Vielen Dank

      Noch ne Frage zu $ENV{'HTTP_REFERER'}, bei
      out $ENV{'HTTP_REFERER'};
      
      wird bei mir nix angezeigt. An was liegt das? Tut zwar nix zur Sache, interessiert mich trotzdem.

      Sander

     Antworten

    Beitrag von Sander (8133 Beiträge) am Samstag, 4.November.2000, 03:44.
    Re: input type="hidden" - neues Problem

      Das mit der Variablen-übergabe klappt ja ganz gut. Doch da kommt ein neues Problem. ich hab den Aufruf verändert, um gleichzeitig auch die schon eingetragenen Daten über das Gebiet abzurufen.
      <a href="/cgi-bin/baseportal.pl?htx=/deinname/deineeingabeseite&neuGebiet=xxx&Gebiet==xxx"> - klappt beim Aufruf. Aber füllt jemand das Form aus, listet er mir nach der Meldung "Eintrag hinzugefügt" alle Datensätze auf. Ich habs bei der Ausgabe schon mit <loop Gebiet^==$neuGebiet> probiert, aber das wird komplett ignoriert, d.h. er listet nix mehr. Kann mir jemand helfen?
      

     Antworten

    Beitrag von anonym (129 Beiträge) am Samstag, 4.November.2000, 16:27.
    Re: input type="hidden" - neues Problem

      Dass nach einem Eintrag komplett wieder aufgelistet wird liegt am BP-CGI, das automatisch wieder das komplette Template verarbeitet. Abstellen lässt sich die Ausgabe nur, wenn man in einer Perl-Loop mit Perl den Aufruf-Status überprüft und die Ausgabe verhindert. Den Status übergibt man mit einer Variable und kann derart die Ausgabe ggf. modifizieren oder auch unterdrücken.

      Etwa so:

      <loop code="perl"> # perl einschalten
      if ($Status != "NeuerEintrag")
      {
      out "hier steht alles, was sonst in der loop stände, allerdings müssen Anführungszeichen mit \ maskiert werden."; out "\"Test\"";
      }
      <loop>
      

      Nachteil des Verfahrens ist, dass man nicht gezielt aus der Schleife herausspringen kann, das sollte in jedem Fall möglich sein.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Sonntag, 5.November.2000, 04:23.
    Re: input type=&quothidden" - neues Problem

      Hast mich ganz schön schwitzen lassen, bis irgendwas lief, wegen <loop code="perl">. Ich habs bloß aus dem Forum kopiert und eingefügt und nicht beachtet, das die " zuviel sind.;-)
      Aber da ist doch bestimmt ein Denkfehler drin. Bei loop liest er die Daten aus der Db, und wenn da auf der ersten Seite vor dem Abschicken schon ein $Status vorhanden ist, listet das Cgi nix oder hab ich das falsch verstanden - und $Status kommt garnicht von der Db?

     Antworten


     
 Liste der Einträge von 68400 bis 68550:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.13s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!