Announcement

Collapse
No announcement yet.

PHP-Anfaenger: Werte austauschen in/zwischen Skripten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PHP-Anfaenger: Werte austauschen in/zwischen Skripten

    ich möchte - basierend auf selektierten Werten aus diversen DB's -
    eine Ergebnisseite anzeigen.
    Dazu habe ich mehrere Websites angelegt, die nacheinander aufgerufen
    werden und aus einer Selektion einen Wert liefern, der der abschließenden
    Ergebnisanzeige PArameter (für SQL) liefert .
    DB-Zugriff : kein Problem !

    jede Website besteht ja grundsätzlich aus HTML-Code, JAVASCRIPT-Code (optional) und PHP-Code

    Verständnisproblem : warum funzt QUERY-STRING nicht oder nicht immer ?
    mal bekomme ich nen Wert aus einem Anzeigefeld, aber durchreichen
    (zur übernächsten Website) läßt sich der Wert auch nicht..

    wie gehe ich am besten vor ? So ganz klar ist mir das mit POST/GET
    in der Praxis auch noch nicht ! :-(

    MfG
    Wolf

  • #2
    Hallo!<br>Also zuerst mal ein paar Worte zur Post/Get!<br><br><b>
    Beschreibt die Methode, mit der Daten eines Formulars an das Skript übergeben werden. "Post" bedeutet, <br>daß die Formulardaten an den Standardeingabekanal gesendet werden (%in z.B.). "Get" bedeutet, daß<br> die Parameter in Form von name=wert&name2=wert2 an die URL des Skripts angehängt wird, z.B. <PRE>http://www.test.de/index.php?site=DE<PRE></b><br><br><br>Evtl. können die Parameter dann per GET weitergegeben werden (ist default Einstellung), aber eine Lösung<br> über Cookies wäre auch denkbar, allerdings nur, wenn keine Session erhalten werden muß!!<br><br>GV

    Comment


    • #3
      Hi,<p>
      in PHP sind Sessions eine gute Variante, um Werte durch mehrere Scripte hindurchzuschleusen. Bei Sessions werden naemlich Werte auf dem Webserver zwischengespeichert und nur eine SessionID muss beim naechsten Aufruf wieder stimmen, ist wie ein Schluessel zu einem Bankschliessfach.<p>
      Ansonsten kannst Du Werte problemlos von einem Script zum nexten durchschleifen, indem Du die Werte ueber &lt;input type=hidden name=NAME value=VALUE&gt; bei Erzeugung der Seite reinschreibst.<p>
      Beispiel:<p>
      Start-HTML-Seite: Vornamen eingeben:<br>
      &lt;form ... action="script1"&gt;<br>
      &lt;input type=text name=vorname size=20&gt;<br>
      &lt;input type=submit value="Vorname uebertragen"&gt;<br>
      &lt;/form&gt;<br>
      Klar: ein normales Formular, welches Daten an ein PHP/CGI sendet.<p>
      script1: wertet vorname aus, fragt nun die Stadt ab:<br>
      &lt;form ... action="script2"&gt;<br>
      &lt;input type=text name=stadt size=20&gt;<br>
      <b>&lt;input type=hidden name=vorname value="$vorname"&gt;</b><br>
      &lt;input type=submit value="Stadt uebertragen"&gt;<br>
      &lt;/form&gt;<br>
      Was soll das? Ganz einfach: Beim Aufbau des Formulars fuer die Stadt schreibst Du den Wert fuer den Vornamen, den Du ja dann schon hast, als HIDDEN noch einmal hinein, damit wird er beim nexten Mal wieder uebertragen. Ansonsten geht er Dir verloren.<p>
      Marc

      Comment


      • #4
        danke für antwort,
        1.)mit "hidden" hab ich schon was gemacht, aber :
        muß die Form oder zumindest das Feld dynmisch erzeugt
        worden sein oder ist das egal ?

        2.)
        nach erstem Eindruck bietet das website-prinzip eher
        Zeitungs-ähnliche Möglichkeiten, ist also Ausgabe-betont;
        gilt das auch für PERL ?
        zumindest kann wohl keine dialog-betonte Seite erstellen
        (so daß der Seitenwechsel praktisch unbemerkt bleibt, wie
        bei Delphi oder JAVA oder...)

        3.) habe "zwischendurch" mit Delphi5 und ADO ne brauchbare Lösung (externe Archivierung von ORACLE auf mySQL) hinbekommen, aber eigentlich wollte ich was schmalbandiges und plattformunabhängiges haben..

        Meinungen und Erfahrungen hierzu interessieren mich sehr und können gerne auf diesen Kommentar "gepostet" werden :-)

        MfG
        Wol

        Comment


        • #5
          Hi Wolf,<p>
          HTTP und damit alles, was mit HTML arbeitet, hat einen entscheidenen Nachteil: das Protokoll ist zustandslos:
          <ol>
          <li>Browser fragt Server nach einer HTML-Seite oder nach einem Bild</li>
          <li>Server gibt die angegebene Resource zurueck</li>
          <li>Verbindung wird beendet</li>
          </ol><p>
          Das hat insbesondere die Auswirkung, dass zwei nacheinander ausgefuehrte Abfragen voneinander nichts wissen. Darum gibt es drei Ansaetze, um dem abzuhelfen:
          <ol>
          <li>Cookies: Server schickt ZUSAETZLICH zu der Resource noch ein paar Cookies. Diese speichert der Browser auf der lokalen Platte und sendet sie JEDESMAL an den Server zurueck, egal ob sie gebraucht werden oder nicht.</li>
          <li>Sessions: Server merkt sich die Daten in einer Art Tresorreihe und schickt dem Browser den Schluessel, die SessionID. Sobald die SessionID wieder zurueckkommt, holt der Server die Daten aus dem Tresor und kann sie wiederverwenden.</li>
          <li>Hidden-Parameter: Der Server arbeitet die Werte, die er das naechste Mal wieder braucht, als Hidden ein und hofft, dass der Browser sie mit dem naechsten Formular zuruecksendet.</li>
          </ol><p>
          Sessions sind dabei das Mittel der Wahl, denn SessionIDs sind nicht (oder nur schwer) zu erraten, so dass mutwillige Aenderungen einfach die Daten verwerfen, aber keinen Schaden anrichten koennen. Cookies dagegen sind einfach einzusetzen (obwohl Sessions mit PHP auch kein Problem sind.<p>
          Falls Du HTTP verlaesst und z.B. mit einem Java-Applet eine eigene TCP-Verbindung aufbaust (DB-Verbindung, oder fuer einen ChatServer), dann gelten die umstaendlichen Parameter-Uebergaben nicht mehr. Aber reine HTML-Seiten, auch mit noch so viel JavaScript und DHTML, koennen halt keine Daten ueber mehrere Klicks hinweg speichern.<p>
          Hoffe, geholfen zu haben. Gruss, Marc

          Comment


          • #6
            Danke, Marco, fuer Anwort ; das hilft schon weiter..

            werde die Delphi-App. zur Archiv-Pflege(Neu,Löschen,Drucken)
            anbieten und mit PHP eine einfache Sicht per Browser..

            Frohe Weihnachten an alle Forum-Fans
            vom Wol

            Comment

            Working...
            X