Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » sessions variablen Antworten
sessions variablen

beule
Otto-Normal-Poster


Beiträge: 92


Hi zusammen

ich bin neu hier und hab auch gleich schon ne frage:
$id = $lan_IDUser;
session_register("id");

hier weisse ich der session die id des user zu, jetz die frage
wie kann ich diese id in der session in einer sql abfrage verwenden
z.B select vorname from tbl_benutzer where IDUser = "die gespeicherte id des users"
hab eine ältere php version darum kein ich keine super globalen variablen wie $_SESSION verwenden.

danke
beule

  Profil   E-Mail   Editieren   Zitieren

k-man
Otto-Normal-Poster


Beiträge: 52


Hi
versuchs mal mit

"SELECT vorname FROM "deine Tabelle" WHERE IDUser = ID"

Habs aber nicht ausprobiert.

---
Wissen ist Macht; nichts wissen macht auch nix!

  Profil   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


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.

---
Weaverslave

  Profil   Website   Editieren   Zitieren

beule
Otto-Normal-Poster


Beiträge: 92


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

  Profil   E-Mail   Editieren   Zitieren

beule
Otto-Normal-Poster


Beiträge: 92


$eintrag = "UPDATE tbl_benutzer SET lvl='$lvl', class='$class', server='$server' WHERE IDUser='$id'";


die variablen als sting setzen... habs selber rausgefunden
danke

  Profil   E-Mail   Editieren   Zitieren

subjective
Forenheld


Beiträge: 848


Da fehlt das MySQL-Error-Handling.

Und denke daran bei jedem Scriptstart auch session_start() aufzurufen.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
 

Antworten
Nach oben