$SESSION Username in MySQL Tabelle speichern

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

  • $SESSION Username in MySQL Tabelle speichern

    Hallo Leute,

    ich möchte wenn sich jemand auf meiner Seite angemeldet hat und einen Eintrag z.B. im Forum einträgt, dass der Session Username (z.B. Peter) in der MySQL Tabelle gespeichert wird, und man ihn sich so später ausgeben lassen kann.
    Hier mein add.php Code:
    PHP-Code:
    <?php
    include ("../../../db/dbconnect_data.php");
    include (
    "../../../db/dbconnect.php");
    $creator "{$_SESSION['username']}";
    $sql "INSERT INTO ".
    "forum (name, post, email) ".
    "VALUES ('".mysql_escape_string($name)."','".mysql_escape_string($post)."','".mysql_escape_string($email)."','".mysql_escape_string($creator)."')"
    mysql_query ($sql);
    .......... 
    usw.
    Aber es wird leider nichts in MySQL eingetragen Könnt ihr mir weiterhelfen?
    Danke.

  • #2
    PHP-Code:
    $creator $_SESSION['username']; 

    Kommentar


    • #3
      Danke.
      aber leider funktioniert das nicht man kann sich den session namen ja sogar per php echo ausgeben lassen, dann müsste der doch auch in mysql speicherbar sein oder? :S

      Kommentar


      • #4
        das ist der session code aus dem login was gespeichert wird beim einloggen:
        PHP-Code:
        $data mysql_fetch_array($result);   
        $_SESSION["user_id"]       = $data["id"];  
        $_SESSION["user_username"] = $data["username"]; 

        Kommentar


        • #5
          Debuggen.

          Kommentar


          • #6
            was muss ich debuggen und wie? ich hab sowas noch nie gemacht ist das denn so kompliziert diesen username in die tabelle zu bekommen? :S

            Kommentar


            • #7
              Debug-Ausgaben mit var_dump() machen und überprüfen ob alle Variablen die Werte enthalten, die sie haben sollen.

              Kommentar


              • #8
                dann gibt er mir NULL aus aber es ist ja eine gültige session vorhanden...

                Kommentar


                • #9
                  Zitat von jeansofive Beitrag anzeigen
                  dann gibt er mir NULL aus
                  Tolle Information....

                  Wer gibt was wo warum NULL aus?

                  Und was wird sonst ausgegeben? Oder hast du nur eine einzige Debug-Ausgabe gemacht?

                  Kommentar


                  • #10
                    array(1) {
                    [0]=>
                    NULL
                    }

                    das gibt er mir aus...

                    Kommentar


                    • #11
                      OK, ich steig hier aus. Das hat so keinen Zweck.

                      Kommentar


                      • #12
                        In $_SESSION steht vermutlich deswegen nichts drin, weil nichts reingeschrieben wurde oder weil du sie nicht durch session_start() initialisiert hast.
                        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                        Super, danke!
                        [/COLOR]

                        Kommentar


                        • #13
                          hmm doch eigentlich sollte die gestartet sein, denn wenn ich nicht angemeldet bin kann ich auf die seiten auch nicht zugreifen... das ist meine checkuser.php
                          PHP-Code:
                          <?php  
                          session_start
                          (); 
                           
                          if (!isset (
                          $_SESSION["user_id"]))  
                          {  
                            
                          header ("Location: includes/categories/login");  
                          }  
                          ?>

                          Kommentar


                          • #14
                            Die Location muss immer eine absolute URL sein. Relative Pfadangaben sind nicht erlaubt.

                            Wenn $_SESSION['user_id'] gesetzt ist, kann $_SESSION unmöglich leer sein. Entweder schaust du auf der falschen Stelle nach oder zwischendurch werden irgendwo die Session-Daten gelöscht. Von Alleine sind die nicht plötzlich weg.

                            Kommentar


                            • #15
                              hallo.
                              hmm eigentlich dürfte die ja nicht verloren gehen sonst könnte ich wie gesagt ja nicht auf die seiten zugreifen.
                              das ist meine stamm-index.php falls die weiterhilft.
                              PHP-Code:
                              <?php
                              error_reporting
                              (E_ALL);
                              ini_set('display_errors'1);

                              $dateien = array();
                              $dateien['default'] = 'categories/default/index.php';
                              $dateien['verwaltung'] = 'categories/verwaltung/index.php';

                              $ret 1;
                              if (isset(
                              $_GET['section'], $dateien[$_GET['section']])) {
                                  if (
                              file_exists('includes/'.$dateien[$_GET['section']])) {
                                      
                              $ret = include 'includes/'.$dateien[$_GET['section']]; 
                                  } else {
                                      
                              $ret "Include-Datei konnte nicht geladen werden: 'includes/".$dateien[$_GET['section']]."'";
                                  }
                              } else {
                                  
                              $ret = include 'includes/'.$dateien['default'];
                              }
                              include 
                              'includes/categories/login/checkuser.php';
                              include 
                              'templates/html_header.tpl';
                              include 
                              'templates/html_body_tag.tpl';
                              include 
                              'templates/html_header_data.tpl';
                              include 
                              'templates/html_menu.tpl';
                              include 
                              'templates/html_content.tpl';          

                              if (
                              is_array($ret) and isset($ret['filename'], $ret['data']) and
                                      
                              is_string($ret['filename']) and
                                      
                              is_array($ret['data'])) {
                                  if (
                              file_exists($file 'templates/'.$ret['filename'])) {
                                      
                              $data $ret['data']; 
                                      include 
                              $file;
                                  } else {
                                      
                              $data['msg'] = 'Templatedatei "'.$file.'" ist nicht vorhanden.';
                                      include 
                              'templates/error.tpl';
                                  }
                              } else if (
                              is_string($ret)) {
                                 
                                  
                              $data['msg'] = $ret;
                                  include 
                              'templates/error.tpl';
                              } else if (
                              === $ret) {

                                  
                              $data['msg'] = 'In der Include-Datei wurde die return Anweisung vergessen.';
                                  include 
                              'templates/error.tpl';
                              } else {
                                 
                                  
                              $data['msg'] = 'Die Include-Datei hat einen ungültigen Wert zurückgeliefert.';
                                  include 
                              'templates/error.tpl';
                              }

                              include 
                              'templates/html_footer.tpl';
                              ?>
                              meine sql tabelle hab ich für den creator so angelegt:
                              create...blabla
                              creator varchar(200) NOT NULL,
                              ...
                              vielleicht liegt da der fehler obwohl alle anderen einträge richtig eingetragen werden...

                              Kommentar

                              Lädt...
                              X