Ankündigung

Einklappen
Keine Ankündigung bisher.

Session - Werte zwischen speichern!

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Session - Werte zwischen speichern!

    Hallo,
    ich will eine Eintragung in einer DB machen. Das an sich ist kein Problem.

    Nun besteht aber der DB-Eintrag aus mehreren PHP-Seiten. Man loggt sich in meinem Tool ein, eine Session wird gestartet. Dann gibt es 5 Eintragen-Seiten (eintragen1.php, eintragen2.php usw.)

    Wie mache ich dass die Daten, hauptsächlich Text-Infomationen aber auch einige Bilder, nicht gleich in die DB gespeichert werden, sondern zwischen gespeichert werden, bei der nächsten Seite weitere Daten dazu kommen und erst bei der letzten Seite, eintragen5.php wenn man auf den Button "Fertig" klickt, die Daten auch wirklich erst in die DB kommen.

    Geht das? Wie ungefähr?

    Danke für jede Hilfe,
    Gruss!


  • #2
    Wie mache ich dass die Daten, hauptsächlich Text-Infomationen aber auch einige Bilder
    Ich hoffe du sprichst hier nicht von Bildern, sondern von Links zu Bildern..
    Speicher die Daten doch in der Session.
    PHP-Code:
    <?php
    // Die Session in jeder Datei neu starten
    session_start();

    // Die Session mit dem Text füllen
    $_SESSION['text'] = $text;
    ?>
    Den Text kannst du dann auf den folgenden Seiten mit
    PHP-Code:
    <?php
    echo $_SESSION['text']
    ?>
    abrufen..

    Kommentar


    • #3
      Hallo,

      das ist einer meiner Fragen: ich will JPG-Bilder auf meinem Server hochladen. Und das wollte ich mit diesem Tool machen. Kann ich dann die JPG-Bilder in der Session zwischen speichern? Und wenn nicht, wieso?

      Sonst ist mir das jetzt klar, wie ich Textinformationen in der Session speicher. Doch wie kann ich der Session, nachdem ich den Code von Chr!s verwendet habe, weitere Inhalte einfügen (also ohne die alten zu löschen) sondern den alten neuen Infos hinzufügen? Es sind ja insgesamt 5 Eintragen-Seiten wo immer neue Infos dazu kommen.

      Danke noch mal,
      Gruss!

      Kommentar


      • #4
        1. Der Session mehrere Variablen zuzuführen

        Ansich kein Problem. $_SESSION ist ein array, und kann somit unendlich (naja net ganz) viele elemente haben. Ein freies zu finden, wird kein Problem sein....

        Script 1
        PHP-Code:
        <?php
        $_SESSION
        ['text'] = $text
        ?>
        Script2
        PHP-Code:
        <?php
        $_SESSION
        ['text2'] = $text
        ?>
        Script3
        PHP-Code:
        <?php
        $_SESSION
        ['text3'] = $text
        ?>
        usw...

        2. Bilder in der Session speichern.
        Einmal kannst du mit fopen, fread und fclose den inhalt der bilddatei auslesen und diesen, sowie die endung des bildes (sonst wird nachher vllt n jpg zu nem png und das wird schiefgehen) in der session speichern. Halte ich für net sehr fein, da ich die session nicht gerne zu groß werden lasse, aber das ist dir freigestellt.
        Ansonsten kannst du auch temporäre Ordner erstellen, in die du die bilder nach dem upload schiebst (am besten nimmst du für den ordnernamen den namen der aktuellen session, damit du ihn wiederfindest), und nachher machst du dann was auch immer du machen willst mit den bildern und löscht den ordner. Der nachteil ist, dass dateireste übrigbleiben können, wenn man mittendrin aufhört und die scripte net zuende verfolgt. Dann müsste man immer wieder nach alten ordnern suchen und sie löschen, weil es sonst irgendwann zu viel wird. Welche die bessere lösung ist... ich weiß net

        Kommentar


        • #5
          Hallo,
          danke für die Antwort. Werde es gleich ausprobieren.

          Zu der Sache mit dem Bildupload:
          Kann ich mit PHP Bilder (JPGs) auf meinem Server hochladen, und dann in der Session nur den Link dazu (http://www.domain.de/bilder/bild1.jpg).

          Geht das? Wie kann ich Bilder uploaden? Gibt es dazu ein fertiges Skript oder so?

          Vielen Dank,
          Gruss!

          Kommentar


          • #6
            Hilfe,
            also habe auf der ersten Eintragen-Seite (eintragen1.php) folgenden Code geschrieben:
            $_SESSION['daten']="$name";*

            Auf der zweiten Seite (eintragen2.php) wollte ich dann den Inhalt anzeigen lassen mit:
            <?php
            echo*$_SESSION['daten'];
            ?>

            Doch nichts da. Es erscheint die Fehlermeldung, dass ein "unexpected T_VARIABLE" in der echo-Zeile ist. Hab ich da was falsch gemacht?

            Danke für jede Hilfe!

            Kommentar


            • #7
              dann überprüf mal die zeile darüber.

              Übrigens, wegen der Zeile
              $_SESSION['daten']="$name";
              es hat keinen sinn, variablen in Anfürungszeichen zu schreiben. Schreib einfach
              $_SESSION['daten']=$name;

              Kommentar


              • #8
                Hallo,
                hab das mit den Anführungsstrichen geändert. Der Fehler ist immer noch der gleiche.

                Was für eine Zeile darüber meinst Du? Ich habe mitten im HTML-Code einfach:
                <?php
                echo*$_SESSION['daten'];
                ?>

                geschrieben. es gibt also keine Zeile drüber, wenn Du das meinst.

                Hängt das vielleicht damit zusammen, dass beim Login die Session "email" gestartet wird. Ich jetzt aber die Session "daten" genannt habe?

                Danke!

                Kommentar


                • #9
                  Hallo,
                  kann mir keiner weiter helfen?

                  Ist ein Fehler vorhanden in der echo-Zeile?

                  Vielen Dank,
                  Corona

                  Kommentar


                  • #10
                    Scheint wohl ein größeres Problem zu sein. Kann mir denn keiner weiter helfen. Mir würde es erst Mal reichen, wenn ich mir sicher bin, dass die echo-Zeile (s.o.) richtig, ist.

                    Danke!

                    Kommentar

                    Lädt...
                    X