Login.php Fehler

02/20/2016 02:14 TheDragonX3#1
Hallo ich habe ein Problem mit der Login.php Datei, egal was ich versuche ich weiß nicht woran es liegt, ich bekomm immer die Meldung: Wrong Username
obwohl ich den Username richtig eingegeben habe und dieser auch in der Datenbank existiert.

Weil wenn ich die IP eingebe und dann den Link [Only registered and activated users can see links. Click Here To Register...]
dann erhalte ich immer Wrong Username
obwohl "Beispiel" in der DB existiert.

die PHP Datei:



wenn ich bei:

anstelle von "Username" dann "Accountname" eingebe, dann erhalte ich die Meldung: "Wrong Username". Habe ich aber Username stehen dann bekomm ich die Fehlermeldung:



Wäre jemand so freundlich und würde mir sagen was falsch ist? Oder wieso es nicht funktioniert?
Weil ich hatte mal einen Root server auf dem lag die Login.php genau diese wie oben im spoiler drin steht, genau diese hat auf dem alten Root server funktioniert, aber als ich beschloss mir einen günstigeren Root server zu mieten habe ich die Files gesichert ein Backup davon gemacht, sie extern gespeichert und den alten Rootserver gekündet und als ich den neuen günstigeren bekam, habe ich alles was ich auf dem alten Server hatte auf den neuen rüberkopiert so wie es war alles an der Stelle wo es war
aber nun geht die Login.php nicht mehr und ich weiß nicht wieso.
Ich habe nichts daran verändert, jeden Schritt befolgt und alles wieder an Ort und Stelle gebracht wie auf dem Alten Server ich weiß nicht wieso es nicht mehr auf dem neuen Server funktioniert.
Ich bitte um Hilfe:confused::(
02/20/2016 09:10 D0n!#2
Das passwort sollte als (md5) Hash in der Datenbank eingetragen sein, nicht als klartext.
02/20/2016 09:55 Desponia#3
da steht doch der fehler ^^

versuch es mal mit der hier:
Quote:
<?php

$conf['db_user'] = "sa";
$conf['db_pass'] = "Passwort";
$conf['db_name'] = "Account";


if (!isset($_GET['Username']))
$user = sql_clean("");
else
$user = sql_clean($_GET['Username']);

if (!isset($_GET['Password']))
$passhash = sql_clean("");
else
$passhash = sql_clean($_GET['Password']);


$con = odbc_connect($conf['db_name'], $conf['db_user'], $conf['db_pass']) or die('ODBC Connection connect Fail.');

$exec = odbc_exec($con, "SELECT nEMID, sUserPass FROM tAccounts where sUsername = '$user'");

if($exec)
{
if(odbc_num_rows($exec) != 1)
{
die('Account Not Found.');
}
$AccountData = odbc_fetch_object($exec);
$PlaintxtPass = $AccountData->sUserPass;
$PlaintxtnEMID = $AccountData->nEMID;
if (MD5($PlaintxtPass) == $passhash)
{
$Token = RandomToken(50);

$setToken = null;

if (odbc_num_rows(odbc_exec($con, "SELECT * FROM tTokens WHERE nEMID = '".$PlaintxtnEMID."'")) >= 1)
{
odbc_exec($con, "DELETE FROM tTokens WHERE nEMID = '".$PlaintxtnEMID."'");
$setToken = odbc_exec($con, "INSERT INTO tTokens (nEMID, sToken) VALUES('".$PlaintxtnEMID."', '".$Token."')");
}
else
$setToken = odbc_exec($con, "INSERT INTO tTokens (nEMID, sToken) VALUES('".$PlaintxtnEMID."', '".$Token."')");

if ($setToken)
die('OK#'.$Token);
else
die('SetToken Error');
}
else
{
die('Wrong Password.');
}
}
else
{
die('Query Failed');
}

odbc_close();

function sql_clean($str)
{
$search = array("\\", "\0", "\n", "\r", "\x1a", "'", '"');
$replace = array("", "", "", "", "", "", "");
return str_replace($search, $replace, $str);
}

function RandomToken( $length )
{
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ0123456789";
$str = "";
$size = strlen( $chars );
for( $i = 0; $i < $length; $i++ ) {
$str .= $chars[ rand( 0, $size - 1 ) ];
}

return $str;
}
?>
02/20/2016 12:41 хαrvα#4
Ansonsten nimm kein xampp sondern IIS, ist wesentlich besser.
Installier dir den
- PHP Manager
- Aktuelles IIS
- Fast CGI
- PHP

dann wähl die php_cgi.exe aus und es sollte richtig funktionieren.

Außerdem ist es: Login.php?Username=Username&Password=Password
02/20/2016 12:47 Desponia#5
oder so ^^
02/20/2016 15:44 TheDragonX3#6
Quote:
Originally Posted by хαrvα View Post
Ansonsten nimm kein xampp sondern IIS, ist wesentlich besser.
Installier dir den
- PHP Manager
- Aktuelles IIS
- Fast CGI
- PHP

dann wähl die php_cgi.exe aus und es sollte richtig funktionieren.

Außerdem ist es: Login.php?Username=Username&Password=Password


Erst hatte ich mit Appserv gearbeitet nun benutze ich XAMPP jetzt hab ich mich gerade an XAMPP gewöhnt aber wenn es bei mir mit XAMPP funktioniert
dann befolge ich deinen Rat und werde IIS verwenden, aber erstmal möchte ich es noch mit XAMPP zum laufen bringen, wenn du nichts dagegen hast^^

Quote:
Originally Posted by Desponia View Post
oder so ^^

Habe den Code ausprobiert aber der sagt mir zwar keine Fehler mehr, aber er sagt immer Wrong Password

Hier (IP ist ein Beispiel):

Wenn ich jetzt einen Account erstelle der Test50 heißt und Test 51 eingebe sagt er ja logischerweise Account not found, was ja richtig ist
sieht dann so aus:

aber wenn ich jetzt das dazugehörige richtige Passwort mitangebe:
dann sagt er mir "Wrong Passwort", obwohl es richtig ist.

Also irgendwie funktioniert das mit dem Code noch nicht so richtig
weil damals hat es ja auch geklappt, da habe ich dann das so im Browser stehen gehabt:

und dann kam ein Token heraus. mit irgendwas davor TokenOK.
und dann eben der Token: "TokenOK.45a45588546fff356aaf45fdf" usw/etc.

Aber jetzt sagt er immer Wrong Password :(


2. Wieso ist in deinem Code kein:
$conf['db_host'] = "SQLServer\SQLServer";
also kein db_host drin?

3. Ich versteh einfach nicht wieso es auf dem Alten Root Server ALLES funktioniert hat und auf dem neuen Root Server es nicht mehr funktioniert. Es ist ja alles wieder an Ort und Stelle wie es vorher auch war, nur das eben ein kostengünstiger Root server ist.
Ich meine das Bestriebssystem ist das gleiche, die 64-Bit Version ist die gleiche, Festplatten sind um 500 GB kleiner, IP Adresse ist ne andere, aber daran liegt es ja nicht.
Alter Root Server = Funktioniert
Auf dem Alten Root Server, die Files gesichert (Backup) auf den neuen Server rübergeladen, und alles wieder an Ort und Stelle installiert und nun geht es nicht mehr
02/20/2016 16:51 canic#7
Add mich in skype: vito7551
außerdem lad dir schon mal teamviewer runter :)
02/20/2016 16:56 D0n!#8
Ich sagte doch schon, du musst das Passwort im md5 Format in der DB vorliegen haben.

Quote:
Originally Posted by TheDragonX3 View Post
Habe ich aber Username stehen dann bekomm ich die Fehlermeldung:

Wo wird in dem von dir gepostetem Login script denn bitte die Funktion "mysql_fetch_assoc()" benutzt??? Der error kommt doch wohl von irgend einem anderem Versuch mit irgendeinem anderen Script.

Quote:
Originally Posted by Desponia View Post
da steht doch der fehler ^^
Nein, steht er eben nicht aus oben genanntem Grund.

Ausserdem, das von dir gepostete script ist zu 99% genau das selbige.


Ab PHP 5.3 wird meines wissens mssql_...() übrigens nicht mehr unterstützt und man sollte den sqlsrv treiber nutzen welchen man für die verschiedenen PHP Versionen von Microsoft beziehen kann.
Ausserdem wurde mittlerweile auch schon des öfteren erwähnt, das derartige abfragen obsolet sind
und man abfragen, welche Clienteingaben enthalten können, lieber prepariert ("sqlsrv_prepare()").

Zusammengefasst, benutz Google um die für dein Xamp passende PHP version zu finden,
benutze ebenfalls Google, um den für dein Xamp und PHP passenden "SQLSRV DRIVER" zu finden,
benutze ebenfalls Google um tutorials zu finden wie du es richtig konfigurierst.

Wenn du das getan hast such dir ein Login script welches mit prepared statements und sqlsrv arbeitet
oder benutz ebenfalls Google um dir selbst eins coden zu können und baue dieses bei dir ein.

Gruß D0n!.
02/20/2016 17:11 Desponia#9
Quote:
Originally Posted by TheDragonX3 View Post
2. Wieso ist in deinem Code kein:
$conf['db_host'] = "SQLServer\SQLServer";
also kein db_host drin?
Es steht kein Server Host drin weil wie du nachsehen kannst verbindet er über die Account Odbc :)


Ja klar Don es ist zu 99% gleich aber oft macht der eine prozent viel aus :) und testen kostet ihn ja nichts ^^
02/20/2016 22:17 TheDragonX3#10
Quote:
Originally Posted by D0n! View Post
Ich sagte doch schon, du musst das Passwort im md5 Format in der DB vorliegen haben.



Wo wird in dem von dir gepostetem Login script denn bitte die Funktion "mysql_fetch_assoc()" benutzt??? Der error kommt doch wohl von irgend einem anderem Versuch mit irgendeinem anderen Script.



Nein, steht er eben nicht aus oben genanntem Grund.

Ausserdem, das von dir gepostete script ist zu 99% genau das selbige.


Ab PHP 5.3 wird meines wissens mssql_...() übrigens nicht mehr unterstützt und man sollte den sqlsrv treiber nutzen welchen man für die verschiedenen PHP Versionen von Microsoft beziehen kann.
Ausserdem wurde mittlerweile auch schon des öfteren erwähnt, das derartige abfragen obsolet sind
und man abfragen, welche Clienteingaben enthalten können, lieber prepariert ("sqlsrv_prepare()").

Zusammengefasst, benutz Google um die für dein Xamp passende PHP version zu finden,
benutze ebenfalls Google, um den für dein Xamp und PHP passenden "SQLSRV DRIVER" zu finden,
benutze ebenfalls Google um tutorials zu finden wie du es richtig konfigurierst.

Wenn du das getan hast such dir ein Login script welches mit prepared statements und sqlsrv arbeitet
oder benutz ebenfalls Google um dir selbst eins coden zu können und baue dieses bei dir ein.

Gruß D0n!.
Also ich habe die Exe: "SQLSRV30.exe" runtergeladen. da sind ja die DDLs drin:
wie z.b:
02/22/2016 21:38 TheDragonX3#11
Dank der Hilfe von Canic und Desponia funktioniert meine Login.php aber nun habe ich das Problem das mein Login Launche rund meine RegiPage nicht mehr zusammen mit der Login.php funktioniert
auf meiner Homepage heißt es beim erstellen immer: Ups da lief was schief, bitte neu versuchen
und am LoginLauncher wenn ich den richtigen Username und das richtige Passwort in die Textboxen eingebe heißt es: Username oder Passwort falsch, bitte neu eingeben

ich weiß einfach nicht weiter :( nichts will funktionieren
Das einzige was nun funktioniert, ist der Server(die Dienste,Zonen), XAMPP,SQL Server,Login.php

Was nicht funktioniert, ist die billige Regi Page,der Register auf der Homepage und der Login Launcher und hab kein Patcher :X
02/24/2016 20:56 『  』#12
Sorry für diesen sinnlosen OT Post, aber darf ich dich etwas fragen?

Wozu versuchst du überhaupt einen "Privaten" Server zu erstellen, der, wie es scheint,
für andere Spieler ebenfalls nutzbar sein soll, wenn du nicht einmal die einfachsten
Dinge selbst zum laufen bekommst?

Natürlich kostet Fragen nichts, aber ich bitte dich, wie schwer ist es bitte in den
Dateien nach der jeweiligen Stelle zu suchen, die dir die o.g "Fehlermeldung" ausgibt
und dann zu schauen was drüber steht und die einzelnen Funktionen im Internet
zu recherchieren?

Auch wenn das nun sehr unfreundlich klingt, es muss leider gesagt werden:
Lass es gut sein.

#Ich bedanke mich schon mal im Voraus für alle nachfolgenden Posts die
sich gegen meinen Post richten.
02/24/2016 21:11 fanke2250#13
Warum gegen dich richten, wenn es wahr ist^^
Es gibt schon zu fast allen Dingen der Fiesta Section/Szene Tutorials oder wenigstens Schrittanleitungen xD
02/25/2016 14:19 TheDragonX3#14
ja Toll wenn die meisten seiten oder Daten entfernt wurden
habe ja versucht tutorials anzugucken oder daten runterzuladen die mir beim aufbau helfen
aber die daten werden ja immer bei dieser mega.nz hochgeladen
und wurden dann entfernt
viele daten zip daten rar daten oder videos wurden entfernt, also bleibt ja nur fragen
selbst von greenkid und anderen die thread erstellt haben wo viele Guide`s sind, bringen mir nix weil vieles davon an Daten von mega.nz

also wie soll man es sich selbst beibringen wenn das meiste was man braucht nicht mehr existiert. sehr witzig. ich werde es garantiert nicht gut sein lassen, da ich kein Mensch bin der aufgibt nur weil andere es sagen. Ich bin für jede Art von Hilfe offen, aber wenn man mir sagt ich soll es lassen, dann stößt man bei mir auf taube Ohren.

Ich versuch die ganze Zeit es selbst zu lösen aber ich kann auch nix dafür wenn das meiste gelöscht wird. ich finde immer die richtigen Threads und sehe das viele Devs sachen für uns hochgeladen haben die ich brauche und wenn ich sie ebenfalls downloaden will ist das meiste imme rbei mega.nz und dann steht da immer das die Datei nicht mehr existiert, also ist es kein wunder wenn ich Frage und es net selber kann, wenn nichts da ist und die Schrittanweisungen helfen mir nicht weiter, da in den Schritteinweisung keine Lösung für meine Probleme drin stehen.
02/25/2016 15:19 хαrvα#15
Hm mein Tutorial ist noch oben.
Wenn du es nicht gebacken bekommst, kann ich dir einen machen.
Adde mich bitte auf Skype: hadcorexstudios