Aktivierungscode bei Registrierung

lisali

Erfahrenes Mitglied
Hallo!

Ich möchte, dass bei jeder erfolgreichen Registrierung der in die Tabelle "activate" jeweils die User-ID und der zufällig erstellte Code geschrieben wird. Nun ist aber mein Problem, dass ich folgenden Code habe:

PHP:
$pass = randnumb(5); # Passwort generieren
mysql_query("INSERT INTO users (name) VALUES ('".$_POST['name']."')");
$assign = randnumb(40); # Aktivierungscode generieren
$get = mysql_fetch_array(mysql_query("SELECT id FROM users WHERE name='".$_POST['name']."'"));
mysql_query("INSERT INTO activate (user_id,code) VALUES ('$get[id]','$assign')");

Wie man sieht möchte ich mit $get direkt die ID herausfinden und einfügen, da es sich da um auto_increment handelt. Aber das ist wahrscheinlich die "falsche" Lösung. Kann ich das irgendwie alternativ umschreiben, dass ich mit einem Befehl die Daten in die User-Tabelle "users" einfüge und zugleich dann noch die soeben erstellte User-ID in die Tabelle "activate" in Spalte "user_id" schreibe?

Würde mich sehr über hilfreiche Beiträge freuen!

Liebe Grüße,

Lisa
 
Sind es denn mehrere Einträge, die du in die $get einspeichern möchtest?
Wenn nein:
PHP:
$get = mysql_fetch_object(mysql_query("SELECT id FROM users WHERE name='".$_POST['name']."' LIMIT 1")); 
mysql_query("INSERT INTO activate (user_id,code) VALUES ('$get->id','$assign')");
 
Geht es wirklich nur so, dass ich die ID mit einzelnem "$get-Befehl" holen muss? Kann man das nicht bereits beim Insert irgendwie abfragen und gleichzeitig bestimmen?
 
Zurück