Formulardaten an Session

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

  • #16
    Habe nun beide Scripte angepasst und die SID mittels eines Cookies weitergegeben... Aber irgendwie werden die Daten immernoch nicht an das zweite Script übermittelt.

    postnews.php
    PHP-Code:
    <?php
    session_start
    ();

    $sid session_id();
    setcookie("pplnews"$sidtime()+3600);

    $_SESSION['datum'];
    $_SESSION['newstitel'];
    $_SESSION['newstext'];  
    ?>

    <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>

    preview.php
    PHP-Code:
    <?php
    session_start
    ();
    $sid $_COOKIE["pplnews"];
    $sid session_id();

    echo 
    "Vorschau";

    if (isset(
    $_SESSION['datum'])) echo $_SESSION['datum'];
    if (isset(
    $_SESSION['newstitel'])) echo $_SESSION['newstitel'];
    if (isset(
    $_SESSION['newstext'])) echo $_SESSION['newstext'];

    ?>

    Kommentar


    • #17
      also die session_id brauchst du in deinem 2. file nicht mehr.
      aber ich kann dir jetzt nicht mehr helfen, da ich nen absoluter noob bin und mich viel zu selten mit php beschäftige. einfach auf abraxax warten. *g*

      Kommentar


      • #18
        aber ich kann helfen...


        @Powerplay
        tatsache ist, dass du keinerlei session-variablen zugewiesen hast.

        deine definition ist müll.

        PHP-Code:
        // schrott
        $_SESSION['newstitel'];

        // so geht es richtig.
        $_SESSION['newstitel'] = 'der titel eben';

        // oder so.....
        $var 'der titel eben, nur aus einer var, z.b. DB';
        $_SESSION['newstitel'] = $var
        und warum testest du nicht erst einmal das einfache beispiel von mir, bevor du loslegt, eine komplexe geschichte damit zu 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


        • #19
          hatte das einfache script von dir schon getestet. ich war aber der meinung, dass man den inhalt eines textfeldes mit $_SESSION['textfeldname'] zuweisen kann. ist wohl nicht so... wie kann ich das in meinem script am einfachsten lösen?

          Kommentar


          • #20
            $_SESSION['textfeldname']

            ist zu behandeln wie eine normale variable. ihr muss etwas zugewiesen 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


            • #21
              das hab ich ja nun verstanden. aber wie kann ich den wert des textfeldes "newstitel" der Variabeln $_SESSION['newstitel'] zuweisen?

              Kommentar


              • #22
                so vielleicht?

                PHP-Code:
                $_SESSION['newstitel'] = $_POST['newstitel'
                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


                • #23
                  Auf das wäre ich ja auch noch gekommen. Was ich nicht weiss ist, wie ich die Variabeln zuweise, damit ich sie nachher an das Script preview.php übergeben kann. Wenn ich nun einfach nach session_start(); die variabeln mit

                  $_SESSION['datum'] = $_POST['datum'];
                  $_SESSION['newstitel'] = $_POST['newstitel'];
                  $_SESSION['newstext'] = $_POST['newstext'];

                  zuweise, dann funktioniert das doch nicht, da ja beim aufrufen von postnews.php noch gar nichts in den textfeldern ist.

                  Kommentar


                  • #24
                    wie es mit jeder variable üblich ist, kannst du sie erst verwenden, wenn sie definiert ist.
                    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


                    • #25
                      Ist es möglich, dass man gleich bevor die neue Seite mittels Javascript aufgerufen wird, die Variabeln zuweisst? Falls ja, wie?

                      Kommentar


                      • #26
                        verstehe ich nicht...

                        du kannst eine variable verwenden, wenn du sie definiert hast.

                        benötigst du eine solche session-var direkt in einer anderen datei, so muss diese mindest in dem script definiert werden, welches unmittelbar vor aufruf der anderen datei ausgeführt wird.

                        aber nochmals am rande ....
                        warum testest du das nicht einfach mal selber....
                        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


                        • #27
                          warum ich nicht selber teste? weil ich nun schon etwa sechs stunden getestet habe...

                          meine frage kann doch nicht so schwierig sein. ich möchte ja nur den inhalt eines textfeldes in eine variable weitergeben, bevor ich das script preview.php aufrufe.

                          Kommentar


                          • #28
                            warum ich nicht selber teste? weil ich nun schon etwa sechs stunden getestet habe...
                            du hast mittlerweile jede menge infos erhalten. und mit diesen neuen erkenntnissen kannst du nicht testen?

                            meine frage kann doch nicht so schwierig sein. ich möchte ja nur den inhalt eines textfeldes in eine variable weitergeben, bevor ich das script preview.php aufrufe.
                            stichwort zuweisung....

                            das hatte ich dir schon mehrfach gesagt....
                            DU MUSST EINER VARIABLE ETWAS ZUWEISEN, BEVOR DU ES WIEDER VERWENDEN KANNST.
                            das gilt auch hierfür

                            PHP-Code:
                            $_SESSION['datum'] = $_POST['datum'];
                            $_SESSION['newstitel'] = $_POST['newstitel'];
                            $_SESSION['newstext'] = $_POST['newstext']; 
                            und dies hast du zugewiesen. ergo kannst du sie auch in einem nachfolgendem script verwenden.

                            ist doch nicht schwer zu verstehen, oder schreibe ich suhaelisch?
                            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

                            Lädt...
                            X