Bug #11202 [Com]: php.exe Application error
| From: | rizwan dot techloyc at gmail dot com | Date: | Tue, 13 Jul 2021 11:20:21 +0000 |
| Subject: | Bug #11202 [Com]: php.exe Application error | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-234999@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=11202&edit=1
ID: 11202
Comment by: rizwan dot techloyc at gmail dot com
Reported by: jeremy at deadbeef dot com
Summary: php.exe Application error
Status: Closed
Type: Bug
Package: ODBC related
Operating System: Windows 2000
PHP Version: 4.0.5
Block user comment: N
Private report: N
New Comment:
Our CRM experts use a holistic approach to ensure that firms throughout the world get the most out
of their business management software. We are one of the best CRM solution suppliers and CRM
implementation firms you need for effective business administration, whether you're a small,
medium, or large company. https://www.techloyce.com
Previous Comments:
------------------------------------------------------------------------
[2019-04-27 07:07:05] sur dot das16 at yahoo dot com
Try vb6 portable https://thementalclub.com/download-visual-basic-6-0-3038
------------------------------------------------------------------------
[2001-06-21 11:25:07] kalowsky@php.net
no user feedback.
------------------------------------------------------------------------
[2001-05-31 11:35:58] kalowsky@php.net
please try to include a simple sample script (read the bug tracker rules if you need more
information).
------------------------------------------------------------------------
[2001-05-30 15:26:49] jeremy at deadbeef dot com
php.exe - Application Error
The instruction at "0x00c4dff2" referenced memory at "0x00c4dff2". The memory
could not be "read".
This is happening intermitantly for many of my pages. Sometimes hitting refresh will fix the
problem, sometimes it will cause another error.
I am running php 4.0.5 as a cgi under IIS 5 on Win2000.
My script uses ODBC to connect to an access database.
It also uses header() to force the user to authenticate.
Here is the script:
<?php
require_once('auth.inc');
?>
<html>
<head>
<title>Enter a new listing</title>
</head>
<body onLoad="document.all.year.focus();">
<?php
if (@$do_save) {
?>
Cannot yet save listings.
<?php } ?>
<script language="JScript">
<?php
$allmodels = $dbh->getAll("select make, model, model_description from models");
echo "var allmodels = new Array(new Array(0,0,0)";
foreach ($allmodels as $row) {
echo ",\n new Array(", $row[0], ",", $row[1], ", '", $row[2],
"'";
echo ")";
}
echo ");\n";
?>
function makechanged() {
var value = document.all.make.value;
var modelopts = document.all.model.options;
while (modelopts.length > 0)
modelopts.remove(0);
if (value == -1) {
var popup = open("newmake.php", null,
"height=100,width=300,status=yes,toolbar=no,menubar=no,location=no");
} else if (value != 0) {
var obj = document.createElement("OPTION");
var i;
modelopts.add(obj);
obj.value=null;
obj.innerText="";
for(i=0;i<allmodels.length;i++) {
if (value != allmodels[i][0])
continue;
obj = document.createElement("OPTION");
modelopts.add(obj);
obj.value=allmodels[i][1];
obj.innerText=allmodels[i][2];
}
obj = document.createElement("OPTION");
modelopts.add(obj);
obj.value=-1;
obj.innerText="Other...";
}
}
function addnewmake(ident, desc) {
var sel = document.all.make;
var opts = sel.options;
var i;
var didit=0;
for(i=0;i<opts.length;i++) {
if (ident == opts[i].value) {
opts[i].innerText=desc;
opts[i].selected=true;
didit=1;
break;
}
}
if (!didit) {
var obj = document.createElement("OPTION");
opts.add(obj);
obj.value=ident;
obj.innerText=desc;
obj.selected=true;
}
makechanged();
}
function modelchanged() {
var makevalue = document.all.make.value;
var makedesc = document.all.make.options[document.all.make.selectedIndex].innerText;
var value = document.all.model.value;
if (value == -1) {
var popup = open("newmodel.php?make_id=" + makevalue + "&make_desc=" +
makedesc , null, "height=100,width=300,status=yes,toolbar=no,menubar=no,location=no");
}
}
function addnewmodel(make, ident, desc) {
var i;
var foundit = 0;
alert("3");
alert("addnewmodel " + make + " " + ident + " " + desc);
for(i=0;i<allmodels.length;i++) {
if (make == allmodels[i][0] && ident == allmodels[i][1]) {
foundit = 1;
allmodels[i][2] = desc;
break;
}
}
alert("4");
if (!foundit) {
i = allmodels.length;
allmodels[i] = new Array();
allmodels[i][0] = make;
allmodels[i][1] = ident;
allmodels[i][2] = desc;
}
alert("5");
makechanged();
alert("6");
var sel = document.all.model;
var opts = sel.options;
for(i=0;i<opts.length;i++) {
if (ident == opts[i].value) {
opts[i].selected=true;
break;
}
}
alert("7");
}
</script>
<h1>New Listing</h1>
<form action="listing.php" method=post>
<hidden name=do_save value=1>
<table border=0>
<tr>
<th>Year</th>
<td><input type=text name=year size=4 id=year></td>
</tr>
<th>Make</th>
<td><?php
$allmakes = $dbh->getAssoc("select make, make_desc from makes");
echo "<select name=make id=make onchange=\"makechanged();\">\n";
echo "<option selected></option>\n";
foreach ($allmakes as $makeid => $makedesc) {
echo "<option value=$makeid>$makedesc</option>\n";
}
echo "<option value=-1>Other...</option>\n";
echo "</select>\n";
?>
</td></tr>
<th>Model</th>
<td><select name=model onChange="modelchanged();">
</select>
</td></tr>
</table>
</form>
</body>
</html>
auth.inc
---------
<?php
//**************************************
// for :HTTP authentication with PHP on IIS
//**************************************
// Source: http://brecht.sanders.org/
//**************************************
// Name: HTTP authentication with PHP on IIS
// Description:A simple way to provide Basic Authentication using PHP on Internet Information
Server 4 or 5. IMPORTANT: Read the "assumes" section below before using. Tested on Windows
2000 with IIS 5 and PHP 4.0.2. Also, make sure you turn off ALL IIS authentication options,
including the default "Integrated Windows Authentication". Leave only Anonymous Access
checked, or this will not work.
// By: Dan Hendricks
//
//
// Inputs:None
//
// Returns:None
//
//Assumes:This code will NOT work if you have not the PHP installation instructions in the
README.TXT file, entitled "Installation Notes for IIS 4.0 and 5.0". Make sure you follow
the instructions for adding the PHP ISAPI module, otherwise this won't work!
//
//Side Effects:None
//This code is copyrighted and has limited warranties.
//Please see http://www.Planet-Source-Code.com/xq/ASP/txtCodeId.252/lngWId.8/qx/vb/scripts/ShowCode.htm
//for details.
//**************************************
require_once('db.inc');
if (@$PHP_AUTH_USER == "" && @$PHP_AUTH_PW == "" &&
ereg("^Basic ", @$HTTP_AUTHORIZATION)) {
list($PHP_AUTH_USER, $PHP_AUTH_PW) =
explode(":", base64_decode(substr($HTTP_AUTHORIZATION, 6)));
}
$authenticated = 0;
if (@$PHP_AUTH_USER != "" || @$PHP_AUTH_PW != "") {
// Put the necessary code for checking username/passwords here.
$authenticated = $dbh->getOne("select count(*) from adminusers where
username='" . $dbh->quoteString($PHP_AUTH_USER) . "' and password =
'" . $dbh->quoteString($PHP_AUTH_PW) . "'");
// $authenticated = ($PHP_AUTH_USER == "test" && $PHP_AUTH_PW ==
"123");
}
if(!$authenticated) {
header("WWW-Authenticate: Basic realm=\"DB-Admin\"");
if (ereg("Microsoft", $SERVER_SOFTWARE))
header("Status: 401 Unauthorized");
else
header("HTTP/1.0 401 Unauthorized");
echo "Access denied";
exit;
}
?>
db.inc
----------
<?php
require_once "DB.php";
$dbh=DB::factory("odbc");
$rc = $dbh->connect("odbc://webuser:webuser@two");
if (DB::isError($rc)) {
echo "<html><head><title>Oops. We have a
problem</title></head><body>\n";
echo "Oh no, there is a problem with the database. Please email ";
echo "<a href=\"mailto:webmaster@sageconspiracy.com\">the
webmaster</a> and ";
echo "let them know what happened.\n";
echo "<hr>\n";
echo "<pre>", $rc->getMessage(), "</pre>\n";
echo "<hr></body></html>\n";
exit;
}
?>
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=11202&edit=1