decode کردم کامل
الان راهنمایی شما رو انجام می دم
Printable View
decode کردم کامل
الان راهنمایی شما رو انجام می دم
function &NewADOConnection($db='')
{
$tmp =& ADONewConnection($db);
return $tmp;
}
ضمیمه کردم
این بخش مربوط به تابع ADONewConnection در خط 3988 هست.
این تابع چند بخش داره که هر بخش که به ارور برسه return false می کنه. کدی رو که دادم رو به انتهای هر بخش اضفافه کنید تا ببینید تابع تا کجا پیش میره.مثلا
die("here");
رو تو خط 4012 بذارید. اگه مقدارش چاپ شد یعنی تابع تا این خط پیش رفته. پاکش کنید و تو خط 4026 بذارید تا آخر که مشخص بشه کدوم return داره اجرا میشه.
من تا آخرین خط رفتم
here داد !
من تا آخرین خط رفتم و خطای here رو داد بهم
این تابع رو ببینید:
function &ADONewConnection($db='')
{
GLOBAL $ADODB_NEWCONNECTION, $ADODB_LASTDB;
if (!defined('ADODB_ASSOC_CASE')) define('ADODB_ASSOC_CASE',2);
$errorfn = (defined('ADODB_ERROR_HANDLER')) ? ADODB_ERROR_HANDLER : false;
$false = false;
if ($at = strpos($db,'://')) {
$origdsn = $db;
if (PHP_VERSION < 5) $dsna = @parse_url($db);
else {
$fakedsn = 'fake'.substr($db,$at);
$dsna = @parse_url($fakedsn);
$dsna['scheme'] = substr($db,0,$at);
if (strncmp($db,'pdo',3) == 0) {
$sch = explode('_',$dsna['scheme']);
if (sizeof($sch)>1) {
$dsna['host'] = isset($dsna['host']) ? rawurldecode($dsna['host']) : '';
$dsna['host'] = rawurlencode($sch[1].':host='.rawurldecode($dsna['host']));
$dsna['scheme'] = 'pdo';
}
}
}
die( var_dump($dsna) . __LINE__ ); //////////////////////////////////////////////
if (!$dsna) {
// special handling of oracle, which might not have host
$db = str_replace('@/','@adodb-fakehost/',$db);
$dsna = parse_url($db);
if (!$dsna) return $false;
$dsna['host'] = '';
}
die( var_dump($dsna) . __LINE__ ); //////////////////////////////////////////////
$db = @$dsna['scheme'];
if (!$db) return $false;
$dsna['host'] = isset($dsna['host']) ? rawurldecode($dsna['host']) : '';
$dsna['user'] = isset($dsna['user']) ? rawurldecode($dsna['user']) : '';
$dsna['pass'] = isset($dsna['pass']) ? rawurldecode($dsna['pass']) : '';
$dsna['path'] = isset($dsna['path']) ? rawurldecode(substr($dsna['path'],1)) : ''; # strip off initial /
if (isset($dsna['query'])) {
$opt1 = explode('&',$dsna['query']);
foreach($opt1 as $k => $v) {
$arr = explode('=',$v);
$opt[$arr[0]] = isset($arr[1]) ? rawurldecode($arr[1]) : 1;
}
} else $opt = array();
}
/*
* phptype: Database backend used in PHP (mysql, odbc etc.)
* dbsyntax: Database used with regards to SQL syntax etc.
* protocol: Communication protocol to use (tcp, unix etc.)
* hostspec: Host specification (hostname[:port])
* database: Database to use on the DBMS server
* username: User name for login
* password: Password for login
*/
if (!empty($ADODB_NEWCONNECTION)) {
$obj = $ADODB_NEWCONNECTION($db);
die( var_dump($obj) . __LINE__ ); //////////////////////////////////////////////
} else {
if (!isset($ADODB_LASTDB)) $ADODB_LASTDB = '';
if (empty($db)) $db = $ADODB_LASTDB;
if ($db != $ADODB_LASTDB) $db = ADOLoadCode($db);
die( var_dump($db) . __LINE__ ); //////////////////////////////////////////////
if (!$db) {
if (isset($origdsn)) $db = $origdsn;
if ($errorfn) {
// raise an error
$ignore = false;
$errorfn('ADONewConnection', 'ADONewConnection', -998,
"could not load the database driver for '$db'",
$db,false,$ignore);
} else
ADOConnection::outp( "<p>ADONewConnection: Unable to load database driver '$db'</p>",false);
return $false;
}
$cls = 'ADODB_'.$db;
if (!class_exists($cls)) {
adodb_backtrace();
die( "CLASS NOT EXISTS " . __LINE__ ); //////////////////////////////////////////////
return $false;
}
$obj = new $cls();
}
die( var_dump($obj) . __LINE__ ); //////////////////////////////////////////////
# constructor should not fail
if ($obj) {
if ($errorfn) $obj->raiseErrorFn = $errorfn;
if (isset($dsna)) {
if (isset($dsna['port'])) $obj->port = $dsna['port'];
foreach($opt as $k => $v) {
switch(strtolower($k)) {
case 'new':
$nconnect = true; $persist = true; break;
case 'persist':
case 'persistent': $persist = $v; break;
case 'debug': $obj->debug = (integer) $v; break;
#ibase
case 'role': $obj->role = $v; break;
case 'dialect': $obj->dialect = (integer) $v; break;
case 'charset': $obj->charset = $v; $obj->charSet=$v; break;
case 'buffers': $obj->buffers = $v; break;
case 'fetchmode': $obj->SetFetchMode($v); break;
#ado
case 'charpage': $obj->charPage = $v; break;
#mysql, mysqli
case 'clientflags': $obj->clientFlags = $v; break;
#mysql, mysqli, postgres
case 'port': $obj->port = $v; break;
#mysqli
case 'socket': $obj->socket = $v; break;
#oci8
case 'nls_date_format': $obj->NLS_DATE_FORMAT = $v; break;
}
}
if (empty($persist))
$ok = $obj->Connect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
else if (empty($nconnect))
$ok = $obj->PConnect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
else
$ok = $obj->NConnect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']);
if (!$ok)
{ //////////////////////////////////////////////
die( var_dump($obj) . __LINE__ ); //////////////////////////////////////////////
} //////////////////////////////////////////////
return $false;
}
}
die( var_dump($obj) . __LINE__ ); //////////////////////////////////////////////
return $obj;
}
به خطهایی که علامت گذاشتم دقت کنید. این خطها رو به ترتیب حذف کنید تا اشکال پیدا بشه. اگه مقدار خروجی همه خطها رو اینجا بذارید خیلی بهتر میشه.
برای اولی البته MY_DATABASE و MY_PASSWORD اکانت دیتابیس هاستم بود که نذاشتم اینجا
array(5) { ["scheme"]=> string(5) "mysql" ["host"]=> string(9) "localhost" ["user"]=> string(10) "MY_DATABASE" ["pass"]=> string(7) "MY_PASSWORD" ["path"]=> string(11) "/MY_DATABASE" } 4012
برای دومی
array(5) { ["scheme"]=> string(5) "mysql" ["host"]=> string(9) "localhost" ["user"]=> string(10) "MY_DATABASE" ["pass"]=> string(7) "MY_PASSWORD" ["path"]=> string(11) "/MY_DATABASE" } 4020
برای سومی
Database Connection Failed!
برای چهارمی
Database Connection Failed!
برای پنجمی
array(5) { ["scheme"]=> string(5) "mysql" ["host"]=> string(9) "localhost" ["user"]=> string(10) "MY_DATABASE" ["pass"]=> string(7) "MY_PASSWORD" ["path"]=> string(11) "/MY_DATABASE" } 4054
آقا امیر حسین این کدها قبلا همگی اجرا میشدن روی سرور قدیمیش ولی الان با سرور جدید iman مشکل داره !
یعنی منظورم اینه که خود توابع درست هستن مشکل با Connection الان وجود داره!
با نظرم موافقی یا نه ؟
ممنون که کمک کردین
ممنون از دوستان عزیزم
ببینید این فایل conf.inc هست
ما تو این فایل اول نام دامنه رو چک می کنیم که اگه با سایت فرق داشته باشه redirect میشیم به سایت سازنده و اگه دامنه یکی بود خطاهای دیگه چک می شه
البته این فایل کد شده بود و من دیکد کردم
ممنونم از اینکه کمک می کنید
<?php
define( "_DOMAIN", "اینجا اسم دامنه سایت چک میشه" );
require_once( $_file_base."libs/adodb/adodb.inc.php" );
$ado_dsn = "mysql://".DB_USER.":".DB_PASSWORD."@".DB_HOST."/".DB_NAME;
$db = newadoconnection( $ado_dsn );
if ( $db )
{
exit( "Database Connection Failed!" );
}
$rs = $db->execute( "SET NAMES 'utf8'" );
$rs = $db->execute( "SET CHARACTER SET 'utf8'" );
$rs = $db->execute( "SET SESSION collation_connection ='utf8_general_ci'" );
$rs = $db->execute( "SET CHARACTER_SET_RESULTS='utf8'" );
if ( $rs )
{
exit( $db->errormsg( ) );
}
$_AD_SYSTEM = null;
require_once( $_file_base."include/email.inc.php" );
require_once( $_file_base."include/functions.inc.php" );
load_settings( $_AD_SYSTEM );
error_reporting( E_ALL );
$license = str_replace( array( "http://", "www.", "/" ), "", $_SERVER['SERVER_NAME'] );
if ( $license != _DOMAIN )
{
echo "<a href='http://www.websaman.com'>Invalid License</a>";
exit( );
}
?>
آقا این ها رو تغییر بده به اون چیزی که میخوای ببین جواب میده؟
در فایل adodb.inc.php
در خطهای 242 تا 246
var $databaseType = ''; /// RDBMS currently in use, eg. odbc, mysql, mssql
var $database = ''; /// Name of database to be used.
var $host = ''; /// The hostname of the database server
var $user = ''; /// The username which is used to connect to the database server.
var $password = ''; /// Password for the username. For security, we no longer store it.
خطا داد
Database Connection Failed!
یک سوال دارم ؟
مگر شما نام پایگاه داده قبلی را نمی دانید؟
اگر می دانید در تمام فایلها با نرم افزار Adobe Dreamweaver CS4 یا هر چیز دیگر دنبال نام پایگاه داده قبلی بگردید و اگر پیدا شد مشکل شما حل خواهد شد!!!!!!!!!!
می دونم
گشتم ولی پیدا نکردم چیزی !
من هم تقریبا مطمئن شدم که داخل این فایل های شما چیزی وجود نداره
یعنی معلوم نیست از کدام فایل این اطلاعات را میخونه؟
یعنی احتمالا از یک فایل دیگر است!
یه کار دیگه هم میتونی بکنی!
بگردی و هر صفحه ای که include کرده تو یاین صفحه ها یا require یا چیزهای دیگه رو پیدا کنی و بعد بری همان صفحه ها رو هم بگردی!
و یک php_manual (راهنمای تمام کد های PHP) را هم از سایت PHP دانلود کنی و بشینی تمام کد هارو خوب برای خودت معنی کنی ! البته اگر ارزشش را داشته باشه
در کل شاید شما فایل هایی که گرفتید و دی کد کردید شاید یکیش کم باشد!
خوب پست بده و ما رو در جریان امور بزار تا بقیه هم بتوانند کمکت کنند.
موفق باشی