Bilder mit Beschreibung POSTEN = Session verschwindet

  • Hallo,


    sobald ich ein Bild hochlade und auf Posten drücke wird der Post nicht angezeigt und die Session verschwindet direkt. Ebenso wird die U_ID 0 in der DB eingetragen.



    Code:

    PS: session_start() ist oben eingetragen nicht wundern warum der nicht im Code ist.


    Es wird erfolgreich ausgegeben. Alles wird in der DB gespeichert und klappt auch. Nur die U_ID ist auf 0 obwohl die u_id 12 ist in dem Fall. Es werden aber auch keine einträge ausgebeben. Hier mal 2 Bilder:


    Was in der DB gespeichert wird:



    Was von der DB ausgeben wird. Es wird alles ausgegeben außer wenn ich es mit einem Bild hochlade:

  • Deine User-ID scheint ja aus dem Hidden Input Field uid zu kommen, aber da hast du doch überhaupt kein Wert (value) angegeben.


    Woher soll deine User-ID also kommen?


    Zum Überprüfen meiner Theorie, kannst du einfach mal das in Zeile 19 schreiben, also hinter die Initialisierung von $uid:


    PHP
    1. var_dump($uid);
  • Hey,


    dein Code sieht nicht so toll aus. Datenbankabfragen sowie der meiste PHP-Code gehören vor HTML, nicht inmitten des HTMLs.


    Niemals nur SELECT * benutzen. Zähle die Spalten auf die du selektieren willst.


    Das selbe wie JR Cologne gesagt hat meine ich auch.


    Schaul mal hier:



    Was fällt dir denn dabei auf?


    Hier speicherst du die value des hidden Feldes in die Session $_SESSION['id']. Aber hidden feld hat keine value. Desweiteren frage ich mich, warum du die uid über das hidden feld als value übergeben willst. Du kannst doch am Anfang ohne das schon sagen, dass $_SESSION['id'] den wert der variable uid hat.


    Dann hast du ja die Daten des Users, bis du die session zerstörst oder er den Browser geschlossen hat. Dann kannst du mit dieses weiterarbeiten.


    Übrigends nehme immer an, dass die Daten die von außerhalb kommen immer potenziell gefährlich sind. Darum würde ich alle Formulareingaben filtern. Z.b. mit den Funktionen filter_var undfilter_input. Desweiteren wenn du werte aus der Datenbank ausgibst immer htmlspecialchars() verwenden.