Problem mit Session

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

  • Problem mit Session

    Hallo,
    also ich habe ein Problem mit einer Session. Diese will mir eine Variable nicht an die nächste Seite übergeben.
    Also die erste seite sieht so aus:

    test001.php:

    PHP-Code:
    <?php
    session_save_path
    ("./tmp");
    session_start();
    ?>
    <html>
    <head>

    <title>Testen...</title>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="styles01.css" rel="stylesheet" type="text/css">
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <form name="form1" method="post" action="test002.php">
    <div align="left">1:</div><div align="center"><a href="artmedic-bildarchiv/bilder/index.php">Bild einfügen</a> </div>
    <?php
    if (!$ueber == NULL)
    {
        
    session_register('artbild'); // Hier wird der Inhalt in ein Session gemacht 
        
    $_SESSION['artbild'] = $ueber// Hier wird dein Name in der Session regestriert
        
    echo("<div align=center><img src=\"$_SESSION[artbild]\"></div>");
    };
    echo(
    "$_SESSION[artbild]");
    ?>
      <p>2:</p>
      <p align="center"> 
        <textarea name="text" cols="58" rows="7"  wrap="off" onFocus="if(this.value=='Hier bitte den Artikel-Text eingeben!')this.value='';">Hier bitte den Artikel-Text eingeben!</textarea>
      </p>
      <p align="center"> 
        <input type="submit" name="Abschicken" value="Abschicken">
      </p>
    </form>

    </body>
    </html>
    Wie oben steht (bei Form), wird nach dem Klicken auf "Abschicken" an test002.php weitergeleitet.
    Hier sieht es wie folgt aus:

    test002.php:

    PHP-Code:
    <?php
    session_start
    ();
    include(
    "dbconnect.php");
    ?>
    <html>
    <head><title>cool.. ! </title>
    <link href="CSS/styles.css" rel="stylesheet" type="text/css">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
    <body bgcolor="#C8C8C8">
    <?php
    if (! session_is_registered('artbild')) 

    die (
    "arbild ist hier nicht gesetzt !"); 

    $text $_POST['text']; // Hier wird dein Name geholt 
    session_register('arttext'); // Hier wird der Inhalt in ein Session gemacht 
    $_SESSION['arttext'] = $text// Hier wird dein Name in der Session regestriert
    switch ("$action"){
    default:
    $tabelle "<table border=\"0\" align=\"center\">
    <tr>
    <td class=\"style007\"> <img src=\"
    $_SESSION[artbild]\"> </td>
    <td class=\"style007\">
    $_SESSION[text]
    </td>
    </tr>
    </table>"
    ;
    ?>

    <form method=post action="<?php echo $PHP_SELF?>?action=add">
    <?php

    echo $tabelle;

    ?>
    Leider wird hier die Variable artbilder nicht ausgegeben. Also ist folglich die Variable hier nicht registriert.. an was liegt dies ? In test001.php habe ich sie doch registriert. Und hier wird ja auch eine session gestartet.
    Liegt es evtl. in test001.php bei:

    PHP-Code:
    if (!$ueber == NULL)
    {
        
    session_register('artbild'); // Hier wird der Inhalt in ein Session gemacht 
        
    $_SESSION['artbild'] = $ueber// Hier wird dein Name in der Session regestriert
        
    echo("<div align=center><img src=\"$_SESSION[artbild]\"></div>");
    }; 
    Gruss Lett

  • #2
    habe mir nicht alles angesehen ... aber..... arrays in string sind immer böse.

    entweder so
    PHP-Code:
    echo("<div align=center><img src=\"".$_SESSION[artbild]."\"></div>"); 
    oder so.
    PHP-Code:
    echo("<div align=center><img src=\"{$_SESSION[artbild]}\"></div>"); 
    ABER NIEMALS SO
    PHP-Code:
    echo("<div align=center><img src=\"$_SESSION[artbild]\"></div>"); 
    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


    • #3
      Hallo,
      danke für Deine Antwort !
      Also die Variable wurde auch schon vorher auf test001.php ausgegeben, habe es aber nun geändert (und er gibt sie immer noch aus ). Das eigentliche Problem ist, dass er die Session (und somit die Variable) nicht in test002.php kennt.
      Die Abfrage auf test002:

      PHP-Code:
      if (! session_is_registered('artbild')) 

      die (
      "artbild ist hier nicht gesetzt !"); 

      Gibt "artbild ist hier nicht gesetzt !" aus, also folglich leitet er die Session oder die Variable (?) nicht weiter.

      Gruss Lett

      Kommentar


      • #4
        arbeite entweder NUR mit der neuen schreibweise oder lass es sein...
        PHP-Code:
        if (!isset($_SESSION['artbild'])) 

          die (
        "artbild ist hier nicht gesetzt !"); 

        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
          Hallo,
          ich habe dies nun geändert, allerdings zeigt er mir die Variable auch nicht. Ich habe jetzt mal eine fixe Variable in die Session gespeichert, welche er mir auf der gleichen Seite (test001.php) auch schön ausgibt, jedoch nicht auf test002.php und ich verstehe nicht wieso.

          Gruss Lett

          Kommentar


          • #6
            ich sage ja noch, dass du NUR die neue schreibweise nehmen sollst.

            in deinem ersten script habe ich z.b. das hier gefunden,
            was du bestimmt nicht angepasst hast. oder?

            ALT:
            PHP-Code:
            $text $_POST['text']; // Hier wird dein Name geholt 
            session_register('arttext'); // Hier wird der Inhalt in ein Session gemacht 
            $_SESSION['arttext'] = $text// Hier wird dein Name in der Session regestriert 
            NEU:
            PHP-Code:
            $_SESSION['arttext'] = (isset($_POST['text'])) ? $_POST['text'] : ''
            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


            • #7
              Hallo,
              vielen Dank für Deine Antworten.
              Also ich habe es nun mal umgeändert. So ging es leider immernoch nicht
              Ich habe mal versucht ein
              PHP-Code:
              echo("$_POST[text]"); 
              zu machen, doch leider gibt er mir nichts aus (auf test002.php). Hingegen
              PHP-Code:
              echo("$text"); 
              geht problemlos.
              Wenn ich die Session so mache (in test002.php):
              PHP-Code:
              $_SESSION['arttext'] = (isset($text)) ? $text ''
              geht das mit dem Ausgeben der Session (auf text002.php) problemlos.
              Anders, also per $_POST kommt nichts..
              Ich verstehe nicht wieso..

              Gruss Lett

              Kommentar


              • #8
                Original geschrieben von Lett
                Hallo,
                vielen Dank für Deine Antworten.
                Also ich habe es nun mal umgeändert. So ging es leider immernoch nicht
                Ich habe mal versucht ein
                PHP-Code:
                echo("$_POST[text]"); 
                zu machen, doch leider gibt er mir nichts aus (auf test002.php).
                siehe meine erste antwort auf deinen thread.
                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