У меня есть несколько баз данных MS Access, размещенных на веб-сервере Linux, который размещается на GoDaddy. но когда я пытаюсь войти через мой портал входа, это дает мне ошибку: Fatal error: Class 'COM' не найден в /home/buerer/public_html/flames/events/checklogin.php в строке 11
вот код для файла checklogin.php:
<?php
session_start();
ini_set('display_errors', 1); error_reporting(E_ALL);
global $rs;
// parse username and password sent from signup form post to php variables
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$access = realpath("db/users.mdb");
$_SESSION['accessLevel'] = "READ DATA FROM TABLE";
//create connection as COM object
$conn = new COM('ADODB.Connection') or exit('Cannot start ADO.');
//create recordset as new COM object
$rs = new COM('ADODB.Recordset') or exit('Cannot create recordset.');
//dim connection with driver and password
$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=$access;Jet OLEDB:Database Password='softball1234';");
//$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=$access;Jet OLEDB:Database Password=$mypassword;");
$sql = "SELECT * FROM tblUsers WHERE VendorCode='$myusername' and Password='$mypassword'";
//execute sql in connection to database to store are recordset
$rs = $conn->Execute($sql);
if ($rs->EOF) {
echo "Wrong Username or Password";
print "<br>Click <a href=main_login.php>here</a> to try again.";
//print $rs->ErrorMsg(); // Displays the error message if no results could be returned
}else{
$_SESSION['AccessLevel'] = $rs->fields["AccessLevel"]->value;
$_SESSION['MailingListID'] = $rs->fields["MailingListID"]->value;
$count = 0;
while (!$rs->EOF) {
$count++;
$rs->MoveNext();
} //while !$rs->eof
if($count>0){
// Register $myusername, $mypassword and AccessLevel and redirect to file "selection.php"
$_SESSION['username'] = $myusername;
$_SESSION['password'] = $mypassword;
//$_SESSION['AccessLevel'] = $rs->fields["AccessLevel"]->value;
header("location:selection.php");
}else {
echo "Wrong Username or Password";
print "<br>Click <a href=main_login.php>here</a> to try again.";
session_destroy();
}
}
?>
Я не могу найти файл php.ini в моем файловом менеджере GoDaddy, кто-нибудь знает, как исправить эту проблему?
Из PHP 5.4.5 COM и DOTNET больше не встроены в php core. Вам нужно добавить поддержку COM в php.ini:
[COM_DOT_NET] extension = php_com_dotnet.dll В противном случае вы увидите это в своем журнале ошибок: Fatal error: Class 'COM' not found
linux
, я думаю, что это его ОС, поэтому вы также можете упомянуть, что расширение COM
недоступно в системах nix.