wie krieg ich die session_id() in meine sql db

Psynosis

Mitglied
Hallo miteinander,

ich habe noch eine andere frage.

Wie krieg ich die session_id() in die sql db
die db heisst out und die Tabelle users u. das feld usession.
 
Ich hoffe Du hast eine Session gestartet (session_start() ganz oben im Dokument).

PHP:
$query = "INSERT INTO users (usession) VALUES ('".session_id()."');";
mysql_query($query);

Denk dran..das Feld muss mindestens 32 Zeichen Länge haben.
 
Zuletzt bearbeitet:
Jetzt kommt ein fehler! :(
und zwar hier in der esten und letzten linie!
PHP:
$sql="UPDATE users SET visits='".($users['visits']+1)."' WHERE (email='$email' ||
 uid='$email') && pwd='$pwd'";
			mysql_query($sql) or die("update fails");
		
			$users = mysql_fetch_array($result);
			
			db_disconnect();
			$_SESSION['uid'] = $users['uid'];
			$_SESSION['email'] = $users['email'];
			$_SESSION['pwd'] = $users['pwd'];
			$_SESSION['allow_login'] = "yes";
			header("Location: ".BASEHREF."/useraccount/cms.php");
 
Die Fehlermeldung würde uns ungemein helfen. Dann müssten wir nicht ins Blaue raten.
 
Sorry:




Notice: Undefined variable: users in C:\xampp\htdocs\2\login.php on line 34

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\2\login.php:34) in C:\xampp\htdocs\2\login.php on line 44
 
häää

wer wie was? von was sprichst du
ich habe den code
PHP:
$query = "INSERT INTO users (usession) VALUES ('".session_id()."');";
mysql_query($query);

in eine function eingebaut. aber jetzt habe ich eben diesen fehler!
 
aha. muste den errorreport löschen:)

jetzt schreibt er mir immer eine neue user id und setzt dort die session_id() rein!
 
Zuletzt bearbeitet:
Also wenn ich ganz am Anfang der Seite session_start() drinstehen habe und mir dann den Inhalt von $query am Bildschirm anzeigen lasse, erhalte ich bei der SQL Anweisung zum Beispiel:

PHP:
INSERT INTO users (usession) VALUES ('f59e853df834cceb74874ba56abe62d7');

wenn session_start() fehlt kommt:
PHP:
INSERT INTO users (usession) VALUES ('');

Ich hab den Datensatz mit der ersten Ausgabe zwar nicht gespeichert, aber einen Fehler sehe ich nicht.

Lass Dir doch auch mal den Inhalt von $query am Bildschirm ausgeben, dann siehst Du vielleicht mehr.
 
aha. muste den errorreport löschen:)

jetzt schreibt er mir immer eine neue user id und setzt dort die session_id() rein!

Is ja klar. Es ist ja auch ein Datenbank "Einfügen" Befehl. Danach hattest Du ja gefragt. Wenn Du einen Datensatz aktualisieren willst musst Du das mit UPDATE Befehl machen.

Also z.B. anhand einer Userid
PHP:
$query = "UPDATE users SET usession='".session_id()."' WHERE iduser=".$id.";";
mysql_query($query);


Ansonsten empfehle ich Dir mal die Grundfunktionen von SQL anzuschauen.
http://tut.php-quake.net/mysql-query.html
 
Zuletzt bearbeitet:
Zurück