Formulardaten an Session

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

  • Formulardaten an Session

    Kann mir jemand erklären, wie ich im untenstehenden Skript die Formulardaten an eine Session weitergeben kann, damit ich die Daten nachher in einem anderen Formular weiterverarbeiten kann?

    PHP-Code:
    <?php
    session_start
    ();
    ?>

    <script language='JavaScript'>
    function vorschau()


    fenster=window.open('preview.php','Fenster1','width=510,height=400,left=0,top=0');
    fenster.focus()

    </script>

    <h1>News posten</h1>

    <form method="POST" action="postnews.php">

    <?php
    require ("config.php");

    function 
    check_mysql()
    {
        if (
    mysql_errno() > 0)
        {
            die(
    "<br> MySQL-Fehler " mysql_errno() . ": " mysql_error());
        }
    }

    //Verbindung zur Datenbank aufbauen
    $db mysql_connect("$db_server","$db_account","$db_password") or die ("Verbindung fehlgeschlagen");
    mysql_select_db("$db_database",$db);

    if (isset(
    $_POST['speichern']))
    {
        
    $datum date("Y-m-d H:i:s");
        
    $newstitel $_POST['newstitel'];
        
    $newstext $_POST['newstext'];
        
        
    $query "INSERT INTO tblnews (datum, newstitel, newstext) VALUES ('$datum', '$newstitel', '$newstext')";
        
    $result mysql_query($query);
        
    check_mysql();
        
        
    $message "Datensatz hinzugefügt";
    }

    ?>

    <table border="0" cellspacing="0" cellpadding="10">
    <tr>
        <td>Datum:</td>
        <td><input type="text" name="datum" maxlength="40" value="<?php echo date("Y-m-d H:i:s"); ?>"></td>
    </tr>
    <tr>
        <td>Titel:</td>
        <td><input type="text" name="newstitel" maxlength="255"></td>
    </tr>
    <tr>
        <td>News:</td>
        <td colspan="3"><textarea name="newstext" cols="60" rows="10"></textarea></td>
    </tr>
    </table>

    <input type="submit" name="speichern" value="Speichern">
    &nbsp;&nbsp;&nbsp;
    <input type="button" name="bt_vorschau" value="Vorschau" onclick="vorschau()">

    <?php
    if (isset($message))
    {
        echo 
    "<br><br>$message";
    }
    ?>

    </form>

  • #2
    direkt reinschreiben würd ichs nicht, falls du die session noch zu was anderem brauchst ..
    pack das ganze in ein array unter der session, bsp den dateinamen:

    PHP-Code:
    $_SESSION[__FILE__] = $_POST
    mfg,
    [color=#0080c0]Coragon[/color]

    Kommentar


    • #3
      funktioniert mit session_register(); // glaub ich
      bsp.: hat der input die id/ den namen : poster
      , dann regst du halt mit : session_register(poster);
      (hab mir deinen code jetzt nicht angesehen)

      Kommentar


      • #4
        session_register() sollte man nicht mehr nehmen.

        weise deine daten direkt der superglobalen var $_SESSION zu. das ist ein array.

        also
        PHP-Code:
        $_SESSION['dummydaten'] = 'hans wurst'
        weiterhin muss auf jeden fall session_start() verwendet werden.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Das mit dem session_register(); scheint zwar zu funktionieren (gibt mal keine fehlermeldung aus), aber im neuen file kann ich die variabeln nicht aufrufen.

          Kommentar


          • #6
            warum nicht mehr session_register(); ?
            weis nur, das ich es mal so realisiert habe...
            was sind die nachteile ?

            Kommentar


            • #7
              @ PowerPlay,


              kann es sein, das du

              a)
              die sid nicht übergeben hast ?

              b)
              nicht in jedem file
              <?php session_start(); ?>
              aufrufst ?

              muss man glaub ich immer machen.

              Kommentar


              • #8
                Original geschrieben von uschi
                warum nicht mehr session_register(); ?
                weis nur, das ich es mal so realisiert habe...
                was sind die nachteile ?
                das ist die alte schreibweise.

                das arbeiten mit den superglobals ist die neue schreibweise. diese sollte man auch verwenden.

                solange deine jetztigen 'alten' script noch laufen, ist ja alles in ordnung. wenn du aber eh mal an den code muss, kannst du mal alles umschreiben....
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Original geschrieben von uschi
                  muss man glaub ich immer machen.
                  muss man auch. ohne session_start() auf nur einer datei in der kette gehen alle informationen verloren.
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    Danke dir Abraxax :-)

                    Kommentar


                    • #11
                      session_start(); habe ich überall eingebaut. die SID habe ich aber nicht übergeben.

                      @abraxas
                      kannst du mal noch die neue schreibweise aufzeigen? dann möchte ich gleich mal die verwenden...

                      Kommentar


                      • #12
                        @Powerplay
                        bitte mit X am ende!

                        datei1.php
                        PHP-Code:
                        <?php

                          session_start
                        (); // muss immer rein vor allen anderen ausgaben.

                          
                        $_SESSION['laden'] = 'dieser text wird in der session gespeichert';

                        ?><a href="datei2.php">dat2</a>
                        datei2.php
                        PHP-Code:
                        <?php

                          session_start
                        ();

                          
                        // ausgabe der var incl. prüfung, ob die var überhaupt da ist.
                          
                        if (isset($_SESSION['laden'])) echo $_SESSION['laden'];

                        ?>
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          <?php
                          session_start();
                          [COLOR=red]$sid= session_id();[/COLOR]
                          ?>

                          Wie, du hast die sid nicht übergeben ???
                          ich würd mal sagen du hast nen link:

                          <a href="irgendwas.php">irgendwas</a>

                          um da jetzt die sid übergeben zu können, musst du einfach so schreiben:

                          <a href="irgendwas.php?sid=<?php echo $sid; ?>irgendwas</a>

                          oder

                          <?php
                          <a href=\"irgendwas.php?sid=$sid\">irgendwas</a>
                          ?>

                          hoffe mal, das is so richtig.

                          Kommentar


                          • #14
                            Wie, du hast die sid nicht übergeben ???
                            die wird in einem session-cookie gespeichert. wenn nciht, hängt php die automatisch dran...

                            du musst also nichts machen....
                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar


                            • #15
                              echt ? cool

                              Kommentar

                              Lädt...
                              X