PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

18-01-2011, 23:00
|
jeansofive
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 35
|
|
$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.
|

18-01-2011, 23:00
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.610
|
|
PHP-Code:
$creator = $_SESSION['username'];
|

18-01-2011, 23:04
|
jeansofive
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 35
|
|
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
|

18-01-2011, 23:06
|
jeansofive
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 35
|
|
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"];
|

18-01-2011, 23:17
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.610
|
|
Debuggen.
|

18-01-2011, 23:22
|
jeansofive
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 35
|
|
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
|

18-01-2011, 23:39
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.610
|
|
Debug-Ausgaben mit var_dump() machen und überprüfen ob alle Variablen die Werte enthalten, die sie haben sollen.
|

18-01-2011, 23:46
|
jeansofive
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 35
|
|
dann gibt er mir NULL aus  aber es ist ja eine gültige session vorhanden...
|

18-01-2011, 23:49
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.610
|
|
Zitat:
Zitat von jeansofive
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?
|

18-01-2011, 23:56
|
jeansofive
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 35
|
|
array(1) {
[0]=>
NULL
}
das gibt er mir aus...
|

19-01-2011, 00:08
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.610
|
|
OK, ich steig hier aus. Das hat so keinen Zweck.
|

19-01-2011, 02:39
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
In $_SESSION steht vermutlich deswegen nichts drin, weil nichts reingeschrieben wurde oder weil du sie nicht durch session_start() initialisiert hast.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

19-01-2011, 20:51
|
jeansofive
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 35
|
|
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"); } ?>
|

19-01-2011, 21:26
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.610
|
|
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.
|

19-01-2011, 21:34
|
jeansofive
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 35
|
|
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 (1 === $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...
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|