Quote:
Originally Posted by DasChrissi
Es kommt diese hier:
Fatal error: Uncaught Error: Call to undefined function odbc_connect() in C:\xampp\htdocs\Web\login\Login.php:15 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Web\login\Login.php on line 15
ich hab mir das auch im php script angeguckt das ist die zeile mit der ODBC verbindung
also:
$con = odbc_connect($conf['db_name'], $conf['db_user'], $conf['db_pass']) or die('ODBC Connection connect Fail.');
ich habe mir dannach die verbindungen für die Datenbanken angeguckt und nochmal verglichen aber ich benutze für die Account Datenbankverbindung die gleiche Bezeichnung, die ich auch in der config eingetragen haben, das ist in meinem fall 'Account'
|
Du benötigst die Dlls in der php.ini!
Hier ne Mini Anleitung:
Siehe Spoiler:
C:\xampp\php\ext\php.ini
extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
C:\xampp\php\php.ini
extension=php_sqlsrv_56_ts.dll
das musst du einfügen!
Und dann kommen noch die dlls:
C:\xampp\php\ext und C:\xampp\php\extensions
php_pdo_sqlsrv_52_nts_vc6.dll
php_pdo_sqlsrv_52_ts_vc6.dll
php_pdo_sqlsrv_52_ts_vc6.dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_ts.dll
php_pdo_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_pdo_sqlsrv_54_nts.dll
php_pdo_sqlsrv_54_ts.dll
php_pdo_sqlsrv_55_nts.dll
php_pdo_sqlsrv_55_ts.dll
php_pdo_sqlsrv_56_nts.dll
die gehören in den Ordner ext sowie auch in den ordner extensions je nach dem welchen Ordner du hast
die ganzen DLLS müssen darein und dein PHP-Script musst du ändern in:
<?php
$conf['db_user'] = "sa";
$conf['db_pass'] = "Passwort eingeben";
$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;
}
?>
Hier die DLLs als Download: