Variablen aus db auslesen

cassini
Halllo Zusammen,

ich will mit Java Variablen aus der db des thwb auslesen (usr/pwd) und als login für ein Schach-Skript benutzen. Komme selbst nicht weiter, würd mich freuen wenn jemand helfen kann.

Vielleicht hilft folgendes schon weiter:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">  
  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  
<head>  
        <title>WebChess test Login</title>  

<script language="JavaScript">  

function doLogin()   

{ 

var pwdPassword="pwd";  

var txtNick="usr"; 


document.loginform.txtNick.value=txtNick; 


document.loginform.pwdPassword.value=pwdPassword; 


document.loginform.submit(); 


} 
 

</script> 
</head>  
  
<body>  
<h2>WebChess Login</h2>  
  
        <form method="post" action="mainmenu.php" name="loginform">  
        <input name="txtNick" value="usr" type="hidden" />  
        <input name="pwdPassword" value="pwd" type="hidden" />  
        <input name="ToDo" value="Login" type="hidden" />  
</p>  
        <input name="login" value="login" type="submit" />  
</p>  
  
</form>  
  
<p>Version 0.8.2, last updated September 27th, 2002</p>  
    <A href="javascript:doLogin();">this link</a>  
</body>  
</html> 


------
"pwd" / "usr" sollen eben aus der db entnommen werden.


btw. gute Sache, die ihr hier betreibt ^^

thx
cassini
MMB
Eine kurze Sache bevor: Java = Porgrammiersprache, JavaScript = Scriptsprache. Dein Code ist JavaScript (JS).
Du kannst per JS keine Verbindung zu einer Datenbank aufbauen, da musst du schon php oder vergleichbares nehmen. Mit php wäre dieser Login leichter zu lösen und vorallem viel sicherer, weil mit JS kriegt man keine sichern Login hin.
cassini
ich hatte es ursprünglich mit html versucht. Mein Problem war, ich hab versuchst, die werte per get zu übergeben, die mainmenu.php will die aber per post haben. So bin ich auf javascript gekommen... :o

php klingt gut, hab ich aber wenig Ahnung von...
MMB
Die Werte per POST zu übergeben ist kein Problem, du musst nur ein <form> machen mit der action="post".
Mit HTML kannst du nur Sachen formatieren, da kommst du beim Login nicht weit, aber wenn man php benutzt, braucht man in der Regel auch HTML, deswegen sollte man beides können, weil php ohne HTML-Kenntnisse bringt nichts. Und wenn man JS kann, ist das auch nich schlecht.
Chris Hunter
also erstmal hat mmb n kleinen "denkfehler" in seinem lesten posting gemacht. die übertragungsmetode gibt man nicht mit action="post" an, sondern, wie du es schon gemacht hast, mit method="post". aber der mmb hat das schon so gemeint, hat sich nur verschriebnen großes Grinsen gell mmb...


außerdem hast du ne ziemlich sinnlose javascript login funktion geschrieben, da bei dir das passwort immer pwd ist und der user immer usr. die funktion überschreibt quasi immer die eingaben im formular.


wenn du also das formular so verwendest, wie du es oben aufgeschrieben hast. kannst du die eingegbenen variabeln im
mainmenu.php script über die php-variabel $_POST['pwdPassword'] und $_POST['txtNick'] abfragen.

ein weiterer fehler den das formular ausweist ist ja, dass alle felder "hidden sind". also ziemlich sinnlos. weil eine eingabe der userdaten ja nicht möglich ist.

ich würde dem nick als txpe="text" geben und dem pwdPassword den type="password"

dann hast du ein normales login formular das die daten per post an mainmenu.php weitergibt.

in der mainmenu.php kannst du die beiden variabeln dann auswerten und in der datebnak ne abfrage machen ob die daten richtig sind. dabei können wir, also zumindest ich, dir nicht wirklich helfen, da wir die datenbankstrücktur nicht kennen. also ich weis jetzt nicht wie die felder für usernamen und passwort heißen, oder wie der name der user-tabelle ist.

wenn du die daten noch hier reinschreiben würdest kann ich dir php code zeigen wie du die usernamen und passwörter überprüfen kannst. wenn du willst, kannst du auch selber macl in der login.php des boards schaun wie es dort gemacht wird. ich denke mal das passwort wird entweder md5 codiert, das ekennst du an der php funktion md5() beim pw-check oder es ist als PASSWORD datentyp abgelegt. das erkennt du in der SQL abfrage, wenn da irgendwas in PASSWORD() klammern steht...

so long...
...der chris
cassini
Mir war schon klar, dass ich mit meinem javascript so nicht weit kommen werde. Ich habe einen user mit dem Schachsrcipt angelegt um zu testen , ob ein login so überhaupt möglich ist. smile

Das Problem liegt nicht (nur) beim Übergeben der Variablen sondern vielmehr beim synchronisieren der Tabellen. Ein user, der sich im Forum registriert muss auch gleichzeitig in die Tabelle des Schachscriptes aufgenommen werden. Das Spiel verlangt noch den Vor- und Nachnamen des users, also müsste das auch beim Forum reg hinzugefügt werden?!
Vielleicht lässt sich ja auch als Vorname "Spieler" und als Nachname der "nick" generieren.... verwirrt

btw. nur beim Forum wird das pwd codiert (md5).

Schach:
CREATE TABLE players (
playerID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
password CHAR(16) NOT NULL,
firstName CHAR(20) NOT NULL,
lastName CHAR(20) NOT NULL,
nick CHAR(20) NOT NULL UNIQUE
);

thwb:
CREATE TABLE `tb_user` (
`userid` int(10) unsigned NOT NULL auto_increment,
`username` varchar(64) NOT NULL default '',
`userjoin` int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`userid`),
UNIQUE KEY `username` (`username`),
KEY `userid` (`userid`)
) TYPE=MyISAM;
(nur Auszug)


Du bist dran! großes Grinsen
Chris Hunter
wenn die daten für das schachscript und das baord in einer datenbank sind. aknnste doch den nemen und das passwort aus der boardtabelle überprüfen, oder?

du kannst wenn du das nicht willst auch die register.php vom board so abändern das nach dem insert vom board auch das inswert in die schachtebelle gmacht wird. dann musste allerding auch die stellen noch bearbeiten wo das paswort geändert wird, bzw. im amindbereich die stelle wo du user sperrst und löscht noch bearbeiten.

alternativ dazu kannste es auch so machen, das du n cronjob anlegst der einmal am tag die usertabelle ausm board in die usertabelel vom schach kopiert. dann haste allerdings ne zeitliche verzögerung von maximal 24 stunden. musst überlegen was du da am besten machst...
cassini
Warum einfach, wenn es doch auch kompliziert geht... Augen rollen

Zitat:
wenn die daten für das schachscript und das baord in einer datenbank sind. aknnste doch den nemen und das passwort aus der boardtabelle überprüfen, oder?


Du hast natürlich recht, ist wohl die einfachste Lösung. Hab jetzt allerdings auf die Passwortabfrage verzichtet, da die Boardtabelle md5 codiert.
Haste ne Idee, wie ich das auch dem Schachscript klarmachen kann?
Chris Hunter
php:
1:
2:
3:
4:
5:
6:
7:
8:
<?php if(md5($Eingegebenens_Passwort)==$Passwort_aus_der_Datenbank)
{
User hat das richtige passwort eingegeben
}
else
{
user hat das falsche passwort eingegeben
?>
cassini
Wollt mal schnell ne Rückmeldung machen:

Auch wenn es nicht ganz so geklappt hat wie ich mir das vorgestellt habe, läuft mein Schachspiel jetzt mit der board db und die user können ihr usr/pwd zum einloggen verwenden. Also thx für den netten support!

Werd mal die nächsten Tage versuchen das ganze komplett zu integrieren, komme also wieder... großes Grinsen

...naja und wer weiss, vielleicht erwische ich dann sogar den richtigen thread Augenzwinkern


cheers