# username passwort kopieren?



## melbe (17. August 2005)

Hallo!
Habe ein problem und nicht wirklich eine Idee wie ich es lösen kann...
Auf meiner Homepage befinden sich verschieden php skripte (forzum, chat, community)  welche alle eine user/passwort eingabe erfordern.

Das mühsame ist: theoretisch müsste man sich für jedes skript "neu registrieren" da ja pro skript die user/pw daten in unterschiedlichen tabellen sind.

Meine Frage: username ist in der tabelle für mich ja sichtbar, pw nicht, gibt es eine möglichkeit das man Nur die user pw daten in die anderen tabellen kopiert? Denn dann müsste sich der besucher nur 1 Mal registrieren, und kann für jedes skript denselben usernamen zum einloggen verwenden....

Die Tabellen sind natürlich unterschiedlcih aufgebaut.
verwalte meine db über phpmyadmin!

Vielleicht kann mri jemand helfen eine Lösung zu finden

Hoffe doch sehr 

lg melbe


----------



## Luzie (17. August 2005)

Hallo

ist etwas viel an Userdaten, wenn alles gleich sein soll. Warum sparst Du Dir nicht 2 Registrierungstabellen und machst alles in einer? Das kann man jetzt natürlich rechtetechnisch noch ausbauen, wenn man z.B. nur ins Forum oder nur den Chat oder alles besuchen darf, d.h. wenn überhaupt nötig. 

Nach Login legst Du eine Session fest, ist die vorhanden, kann er sich im internen Bereich bewegen, wenn nicht, muss er sich einmalig einloggen.


----------



## melbe (17. August 2005)

danke erst mal für die schnelle antwort!

es ist so das 
1) die skripte bereits vorgefertigt sind (daher -> zu mühsam selber drin rumzucoden)
2) Ich LEIDER nicht so bewandert bin das ich ganz chekc was du meinst 
*sorry* 

Ich habe nun gelesen das es mögiche wäre eine art "globale" tabelle zu erstellen, sprich alle greifen auf diese zu..

es würde aber für den anfang reichen wenn es irgendwie geht meine paar user (die bereits in einer user tabelle drin sind)
in die forum user tabelle zu kopieren....
allerdings eben NUR die 2 felder db und pw...

oder gibts ne andere möglichkeit zusammen zu bringen das alle skripte NUR auf EINE tabellen zugreifen....

zB: beim installieren eines skriptes gibt es ja irgendwo den "create" befehl der die tabelle anlegt.... wäre es nicht möglich diesen irgednwie um zuändern, so das er quasi die bereits "vorhandene" nur um seine strukturen (felder) zu erweitern?

hoffe jemand auf hilfe


----------



## Luzie (17. August 2005)

Also mit phpmyadmin kannst Du doch Spalten hinzufügen, verändern, Daten einfügen etc. 
Ich weiss nur nicht, ob Dir das letztendlich wirklich hilft.

Vermutlich hast Du sogar unterschiedliche Loginmechanismen in Deinen 3 Systemen. 
Beim einen wirdSession iswas, beim nächsten session warwas und beim 3. Session nochwas geschrieben und jede für sich ist der Schlüssel für einen bestimmten Bereich. Wenn Du das vereinheitlichen möchtest, wirst Du da sowieso händisch drangehen müssen. 

Du kannst Dir jetzt natürlich eine große Tabelle als Stammtabelle anlegen und Daten über den insert-Befehl aus den anderen Tabelle dort reinschreiben

bsp. 

insert into tabelle1 (user,passwort,kennung) Select user, passwort, kennung from Tabelle2

Wichtig ist halt, die Felder müssen sowohl beim Insert als auch beim Select übereinstimmen. Einfach mal in phpmyadmin testen. (vorher aber eine Sicherung der Tabellen machen).

Das machst Du noch bei der 3., dann hast Du erstmal alle User in einer Tabelle. Dann musst Du schauen, was doppelt ist, ob Du alle behalten möchtest oder anpassen bzw. welche Du behalten möchtest und welche gelöscht werden sollen..

Ob das jetzt insgesamt Sinn macht, dass weiss ich nicht, da, wie oben beschrieben, vermlt. unterschiedliche Sessions oder Cookies geschrieben werden. 

Gibt bestimmt noch andere Lösungen, 

Ein Tipp, wenn Du Spass an der Sache behalten willst, dann würde ich es von Anfang an ordentlich machen.


----------



## melbe (17. August 2005)

also mal echt danke für die ausführliche antowort 

Ich sehe du hast mein Problem verstanden....klar wäre es gescheiter alles selber durchzubasteln...vor allem:
vermutlich funktioniert wirklich jedes völlig anders...und grad was das session handling angeht kenn i mi garned gscheit aus 
Also fällt das wohl flach-...hmm habs befürchtet!
dabke trotzdem!

Aber vielleicht kannst du mir hier konkret helfen:

habe *eine usertabelle (user_tabelle) * in der die einzigen bisehrigen user drinstehen...

nun habe ich hier ein nettes kleines und vor allem übersichtliches chat skript.
ich habe nun folgendes überlegt:
dieses skript macht nichts anderes als beim installieren eine tabelle mitpaar felder zu erstellen und fertig....
Geht das das ich ihm beim installieren einfach statt:


```
#
# Tabellenstruktur fÃ¼r Tabelle `user`
#

mysql_query("CREATE TABLE `user` (
  `user_id` int(3) NOT NULL auto_increment,
  `user` text NOT NULL,
  `pass` text NOT NULL,
  `empfaenger` text NOT NULL,
  `farbe` text NOT NULL,
  `angemeldet` tinyint(1) NOT NULL default '0',
  `zeit` text NOT NULL,
  `zeit_online` text NOT NULL,
  `andere_user` text NOT NULL,
  `user_online` text NOT NULL,
  PRIMARY KEY  (`user_id`)
) TYPE=MyISAM AUTO_INCREMENT=28");
```

irgendwie einen Insert Befehl bastle? der quasi die tabelle in der die user schon drin sind  ergänzt?
Dann muss ich nur noch bissi bei den abfragen basteln!wäre echt nett wenn du mir helfen könntest


----------



## Luzie (17. August 2005)

Meine Güte, was willst Du mit den ganzen Text-Feldern?   
http://www.fem-exakt.de/mySQLDatentypen.php

Schau Dir mal an, wie groß der Datentyp ist. Muss man nicht haben, für einen einfachen Usernamen, da reicht char oder varchar (10) z.B. vollends aus. Wenn das Passwort verschlüsselt wird, dann sollte man schon ein etwas größeres Feld nehmen (50), aber text, das solltest Du überarbeiten. Bläht die Datenbank nunnötig auf. 

Auch auf die Zeitformatierungen würde ich in timestamp oder datetime formatieren. 

Mit dem Create Table Befehl wird die Tabelle einmalig angelegt. Dann kann sie gefüllt werden oder auch mit Alter Table bearbeitet. 

Wenn Du jetzt z.B. einen Tabeller user_tabelle hast und möchtest dort alle Werte aus der Tabelle user eintragen, dann kannst Du das mit meinem Script machen.

insert into user_tabelle (user, pass) select user, pass from user

Wenn Du noch mehr Felder haben möchtest, musst Du die user_tabelle entspr. erweitern, bzw. überarbeiten.


----------



## melbe (17. August 2005)

vielen dank 
hat soweit gefunzt!!
hab deine befehle verwendet und konnte user und passwort kopieren

jetzt bleibt nurnoch das problem das das passwort verschlüsselt in die db gespeicherrt wurde...und das dieses doofe skript das nicht checkt beim login 

Muss wahrscheinlich die pw abfrage so ändern das er das verschlüsselte auslesen kann....


danke dir vielmals


----------



## Luzie (18. August 2005)

Hi

Du könntest höchstens alle verschlüsseln und die md5() Funktion beim Login im Script um den Request des Formularfeldes setzen, vorausgesetzt, es ist md5() verschlüsselt.

Du wirst es über kurz oder lang einheitlich machen müssen und Dich mit den Scripten auseinandersetzen.


----------

