kostenloser Webspace werbefrei: lima-city


Brauche Hilfe bei Variablen übergeben

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    i************s

    Danke f?r die Hilfe.
    Hab das Problem schon gel?st inzwischen.

    Und net aufregen Schoolop.
    Ich bin n blutiger PHP Anf?nger, da is doch klar das mir da noch Grundkenntnisse fehlen. Bin ja auch schon dr?ber diese auszub?geln.

    Gruss
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. h**************e

    Ein Tipp um Schreibarbeit zu sparen... Was einmal in der Session drin steht, geht nicht verloren wenn du eine neue Seite aufrufst! Also brauchst du blo? die Eingaben der aktuellen Seite in der Session zu speichern.
    z.B. Du f?llst Seite1 aus, klickst auf Weiter. Jetzt speicherst du die Sachen in der Session. Wenn du auf Seite2 angekommen bist, sind die Sachen von Seite1 immernoch vorhanden!

    Merke:
    Die Session beh?lt ihre Daten solange, bis
    • du die Session zerst?rst mit session_destroy();
    oder
    • der Browser komplett geschlossen wird!
  4. Genau diese Daten sind schlecht aus Effektivit?ts Gr?nden ...

    DEIN SERVER SCHREIBT UNMENGEN AN DATEN, die du ?ber hiden felds einfach schicken kannst, spart Ressourcen ...

    Da diese Daten wie gesagt erhalten bleiben und eine Session zu beenden wegen 1 Formular ist einfach schwachsinnig
    (weil z.B: der User dann auf einmal ausgelogged ist (da dies immer ?ber sessions geregelt wird), nachdem er das Formular abgeschickt hat - Der wird sich freuen ^^)

    Die Technik von Hiden Felds ist deshalb einfach besser ...
    Google usw. w?rden sie sonst ja nicht selber nutzen wenn es ganz bl?de w?re oder -.-

    Aber bei unlimited webspace angebote, vergisst jeder sowas gerne xD
  5. Autor dieses Themas

    i************s

    Also ich hab das nun mit der session gemacht wie glaub ich schon mal erw?hnt.

    Angenommen dieser Fall tritt ein beim Ausf?llen des Formulars.

    Ich f?lle Seite 1 aus und gehe auf Seite 2.
    Dort f?lle ich auch die Daten aus und bemerke auf Seite 1 hab ich was falsch gemacht und gehe zur?ck.
    Gehe ich zur?ck sind meine Daten auch noch da f?r Seite 2.
    Besser ich da was aus und gehe wieder auf Seite 2 dann sind aber die Daten von Seite 2 nicht mehr da.

    Gehe ich von 1 nach 2 und dann nach 3 und wieder zur?ck auf 2 dann sind auch auf Seite 2 die Daten.

    Heisst ja eigentlich, dass nur durch das dr?cken des Weiter(Submit) Buttons die Daten in die Session ?bernommen werden.

    Oder lieg ich da falsch? Weil anders kann ich mir das momentane Problem nicht erkl?ren.
  6. Autor dieses Themas

    i************s


    Genau diese Daten sind schlecht aus Effektivit?ts Gr?nden ...

    DEIN SERVER SCHREIBT UNMENGEN AN DATEN, die du ?ber hiden felds einfach schicken kannst, spart Ressourcen ...

    Da diese Daten wie gesagt erhalten bleiben und eine Session zu beenden wegen 1 Formular ist einfach schwachsinnig
    (weil z.B: der User dann auf einmal ausgelogged ist (da dies immer ?ber sessions geregelt wird), nachdem er das Formular abgeschickt hat - Der wird sich freuen ^^)

    Die Technik von Hiden Felds ist deshalb einfach besser ...
    Google usw. w?rden sie sonst ja nicht selber nutzen wenn es ganz bl?de w?re oder -.-

    Aber bei unlimited webspace angebote, vergisst jeder sowas gerne xD



    Der User ist doch nicht eingeloggt. Ich will ja auch die Session nur bis zum Abschicken der Email erhalten und dann zerst?ren :)
  7. h**************e

    Beispiel f?r "Schritt2.php"

    Du gibst deine Daten ein, klickst auf Weiter oder Zur?ck. Nach dem Klick wirst du automatisch nochmal zu Schritt2 geleitet. Die Eingaben werden gespeichert und du wirst, je nach dem auf welchen Button du klickst, weitergeleitet.

    if (($_POST['Submit'] == 'Zur?ck') OR ($_POST['Submit'] == 'Weiter'))
    {
      // Speichern
      $_SESSION['Eingabe2'] = $_POST['Eingabe2'];
    
      // Jetzt weiterleiten
      if ($_POST['Submit'] == 'Zur?ck')
      {
        echo '
        <script type="text/javascript">
          window.location.href="schritt1.php";
        </script>';
      }
      elseif ($_POST['Submit'] == 'Weiter')
      {
        echo '
        <script type="text/javascript">
          window.location.href="schritt3.php";
        </script>';
      }
    }
    
    // Eingabemaske f?r Schritt2
    echo '
    <form action="Schritt2.php" method="post">
      <input type="text" name="Eingabe2" value="" /><br />
    
      <input type="submit" name="Submit" value="Zur?ck" />
      <input type="submit" name="Submit" value="Weiter" />
    </form>';


    Du kannst es auch mit HiddenFields machen. Dann musst du aber f?r jedes Feld ein HiddenField anlegen... z.B. 6 Schritte mit je 6 Eingaben = 36 HiddenFields, damit die Daten jedesmal auf jeder Seite erhalten bleiben!

    echo '
    <input type="hidden" name="Eingabe1" value="'.$_POST['Eingabe1'].'" /><br />
    <input type="hidden" name="Eingabe2" value="'.$_POST['Eingabe2'].'" /><br />
    <input type="hidden" name="Eingabe3" value="'.$_POST['Eingabe3'].'" /><br />
    ...
    ';


    Wenn du den kompletten Code mal haben m?chstest, muss ich mir mal die Arbeit machen. Sag mir einfach bescheid.

    Ich hoffe es war verst?ndlich erkl?rt... ich hab so meine Probleme mit erkl?ren... :-(
  8. Autor dieses Themas

    i************s

    Nee das was du da schreibst hab ich verstanden :) aber mit der Umsetzung kann es bei mir schon manchmal happern. Die Seite aber nochmal aufzurufen und dann weiterzuleiten h?rt sich interessant an.

    Edit (djfun:
    Doppelpost:
    ----------------
    Wobei deine Idee bei den vielen Tables wohl etwas langwierig wird. Aber ich werd das mal probieren :)
    ---------------

    Beitrag ge?ndert: 19.10.2006 22:06:42 von djfun
  9. Stell doch einfach auf CSS-Layouts um (oder nutze ein Template)
  10. Autor dieses Themas

    i************s


    Stell doch einfach auf CSS-Layouts um (oder nutze ein Template)


    Ich w?rde ja gerne, aber die Entscheidungsgewalt liegt bei meiner Firma und nicht bei mir ;)


  11. Stell doch einfach auf CSS-Layouts um (oder nutze ein Template)


    Ich w?rde ja gerne, aber die Entscheidungsgewalt liegt bei meiner Firma und nicht bei mir ;)

    ---------------------------------------------
    Ich mach das nur aus Spass!


    Warum steht das in deiner Sig ???
    Und ist PHP/etc. dein Hauptjob (ich hoffe mal nicht xD)

    Beitrag ge?ndert: 18.10.2006 16:36:37 von schoolop
  12. Autor dieses Themas

    i************s

    Das in der Signatur gilt nur f?r lima. Ich bin hier nur zum Spass.

    Nein PHP ist nicht mein Beruf. Eigentlich Systemadministrator. Aber heutzutage machen die auch mehr Programmieren als anderes Zeugs. Aber ich besch?ftige mich mit PHP auch erst seit kurzer Zeit. Die Grundlagen die ich dazu br?uchte sind nicht so schnell aufzuholen, weil ich sehr lange auf der Arbeit bin und abends dann meist nur etwas noch zum lernen komme.

    Hoffe nach meiner Formulargeschichte wieder etwas mehr Grundlagen studieren kann ;)
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!