2012-03-27 4 views
2

Ich habe ein Datenbanksystem in mysql und PHP entwickelt, mit einem Login-System als auch, ich benutze Sitzungen, aber wenn ein Benutzer einen Datensatz hinzufügt ich möchte es auch den Benutzer aufzeichnen die es hinzugefügt, im Denken Sitzungen würde mir erlauben, dies zu tun, sondern anhand der Begriffe verloren im, wie den Benutzernamen aus der Sitzung abrufen und fügen sie ihn in eine Tabelle: Beispiel für einen einfachen Einsatz:Aufnahme Benutzername in Tabelle von Sitzung mit MySQL und PHP

INSERT INTO table_name 
VALUES (value1, value2, value3) 

ich möchte Wert 3 um den Benutzernamen von den Sitzungen zu sein, bin ich nicht sicher, wie viel mehr Informationen Sie benötigen, um mich zu lösen, also fragen Sie, wie Sie sehen, passen

+0

Wenn Sie den Benutzernamen in der Sitzung behalten, können Sie ihn abrufen, aber wie halten Sie ihn? –

+0

Sitzungen sind nur Daten in $ _SESSION gefüllt, die PHP magisch für Sie zwischen Skriptaufrufen bewahrt. Es gibt nichts anderes, Daten aus dem $ _SESSION-Array herauszuziehen als jede andere PHP-Variable, mit Ausnahme des erforderlichen session_start(), um das Array zu füllen. –

+0

Welche Informationen speichern Sie in Ihrer Sitzung? Wenn Sie einen var_dump ($ _ SESSION) ausführen; was würdest du bekommen? Wenn Sie den Benutzernamen in Ihrem $ _SESSION-Array speichern, können Sie ihn einfach hinzufügen. Wenn Sie die Benutzer-ID speichern, müssen Sie seinen Benutzernamen durch eine andere Anfrage erhalten. – Ronan

Antwort

2

Set value3 = $_SESSION['username'] nachdem der Benutzer sich angemeldet hat und dann in die Tabelle einfügt.

Hier einige Pseudo-Code:

$username = $_SESSION['username'] 

//connect to db 

INSERT INTO table_name 
VALUES (value1, value2, $username) 

//close db connection 

Session ID-Referenz: http://php.net/manual/en/function.session-id.php

+0

Vielen Dank – dames

1

Erste, sobald die Systembenutzeranmeldung (bedeutet, wenn Sie Benutzerdaten zu validieren und Session-Token zu erzeugen), müssen Sie Um die Benutzer-ID in der Sitzung zu speichern, können Sie die Benutzerinformationen bei jedem Einfügevorgang basierend auf dem Sitzungstoken abrufen und einfügen.

Pseudocode

<?php 
//When user logged-in 
$_SESSION['user_id']=logged_in_user_id; 

//When you need to insert 
$userId = $_SESSION['user_id']; 
1
<?php 

session_start(); 

// On the page your login form submits to 

// Your authentication code is here make sure it is returning the USER ID if there is one 

$_SESSION['username'] = $result->username; // use this for user name 

$_SESSION['userid'] = $result->userid; // use this for user ID 
?> 

<?php 
    session_start(); 
    // Page that adds records 
    $sql = "INSERT INTO table_name VALUES (value1, value2, value3, $_SESSION['username'], $_SESSION['userid']); 
// I would rather see you use the user_id than the user name but you get the idea 
?> 
0

Wenn Benutzer versuchen, dann werde ich die einfachste Art und Weise zu verfolgen, einen Trigger empfehlen erstellt.

+1

Können Sie ein wenig in die Details über das Erstellen eines Triggers bitte gehen – dames