von subjective |
Da fehlt das MySQL-Error-Handling.
Und denke daran bei jedem Scriptstart auch session_start() aufzurufen. |
von beule |
$eintrag = "UPDATE tbl_benutzer SET lvl='$lvl', class='$class', server='$server' WHERE IDUser='$id'";
die variablen als sting setzen... habs selber rausgefunden
danke |
von beule |
danke für die schnelle antwort
also im login script wird die id registriert session_register("id")
und in einem späteren script kann ich einfacht mit $id auslesen.
das mit dem update ist so eine sache, versuche meinen chef scho lange davon zu überzeugen ^^
$eintrag = "UPDATE tbl_benutzer SET lvl=$lvl, class=$class, server=$server WHERE IDUser=$id";
mysql_query($eintrag);
so sit nun meine update abfrage aus... es gibt keine fehlermeldung aus obwohl ich
error_reporting(E_ALL);
habe aber funktionieren tuts auch nicht :( hab auch einen standart wert "0" in die db geschrieben, da ich dachte evtl. updatet er keinen wert, wenn noch keiner vorhanden ist
wenn ich nur $id ausgeben bekomme ich den id wert, denn ich beim login spcript mit session_register("id") registriert habe |
von subjective |
Das ist ein Denkfehler - du arbeitest mit einer globalen Variable, welche für die Session registriert wird. Gespeichert werden die registrierten Variablen erst beim Beenden des Scriptes. Wenn du also zwischendurch Änderungen an der Variable vornimmst, werden diese beachtet. Beim nächsten session_start() werden die globalen Variablen, aus der gespeicherten Session dann wieder hergestellt. Du kannst sie wie jede andere Variable auch in den SQL-String einsetzen.
Um Konflikte mit den anderen globalen Variablen zu vermeiden, solltest du allen Session-Variablen einen Prefix verpassen. Also z.B. $sess_user_id.
Die ideale Lösung wäre allerdings ein Upgrade der PHP-Version. So altes PHP (<4.1) sollte man nicht nutzen. |
von k-man |
Hi
versuchs mal mit
"SELECT vorname FROM "deine Tabelle" WHERE IDUser = ID"
Habs aber nicht ausprobiert. |
|