Solved

PHP session start causes runtime error in IE 7

Posted on 2010-11-26
6
381 Views
Last Modified: 2012-05-10
Hi
I have a page that starts with
<?php
session_start();
?>

All works fine in Chrome and Mozilla but in IE7 I get a 'runtime error occurred on line 2. Object not supported. I'm developing it on Xampp locally if that's relevant.

Any ideas please? (I can post more code if it's not a common issue).

Thank you
0
Comment
Question by:swordfishsoup
  • 4
  • 2
6 Comments
 
LVL 6

Expert Comment

by:i-CONICA
ID: 34216565
A PHP runtime error or config issue shouldn't be browser dependent... Can you post more code, what else is going out to the browser, if anything? Try echoing something after session_start() and see if it's outputted properly in Chrome or FF.
0
 

Author Comment

by:swordfishsoup
ID: 34216643
Hi. Thanks for looking. I'm attaching the code down to the end of the Head. Yeah it is fine on all excpet IE7.
Thanks again.
<?php
session_start();
?>
<?php require_once('../Connections/burnerphp.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

mysql_select_db($database_burnerphp, $burnerphp);
$query_RsReferer = "SELECT * FROM tblreferers";
$RsReferer = mysql_query($query_RsReferer, $burnerphp) or die(mysql_error());
$row_RsReferer = mysql_fetch_assoc($RsReferer);
$totalRows_RsReferer = mysql_num_rows($RsReferer);

$media_RsMaster = "1";
if (isset($_SESSION['frmmedia'])) {
  $media_RsMaster = $_SESSION['frmmedia'];
}
$dupe_RsMaster = "3";
if (isset($_SESSION['frmdupe'])) {
  $dupe_RsMaster = $_SESSION['frmdupe'];
}
$print_RsMaster = "6";
if (isset($_SESSION['frmprint'])) {
  $print_RsMaster = $_SESSION['frmprint'];
}
$pack_RsMaster = "12";
if (isset($_SESSION['frmpack'])) {
  $pack_RsMaster = $_SESSION['frmpack'];
}
$paper_RsMaster = "17";
if (isset($_SESSION['frmpaper'])) {
  $paper_RsMaster = $_SESSION['frmpaper'];
}
$paperextra_RsMaster = "22";
if (isset($_SESSION['frmpaperextra'])) {
  $paperextra_RsMaster = $_SESSION['frmpaperextra'];
}
mysql_select_db($database_burnerphp, $burnerphp);
$query_RsMaster = sprintf("SELECT tblsiteproducts.ProductID, tblsiteproducts.ProductName, tblsiteproducts.class, tblsiteproducts.Price, tblsiteproducts.ProdImg FROM tblsiteproducts WHERE tblsiteproducts.ProductID = %s OR tblsiteproducts.ProductID = %s OR tblsiteproducts.ProductID = %s OR tblsiteproducts.ProductID = %s OR tblsiteproducts.ProductID = %s OR tblsiteproducts.ProductID = %s", GetSQLValueString($media_RsMaster, "int"),GetSQLValueString($dupe_RsMaster, "int"),GetSQLValueString($print_RsMaster, "int"),GetSQLValueString($pack_RsMaster, "int"),GetSQLValueString($paper_RsMaster, "int"),GetSQLValueString($paperextra_RsMaster, "int"));
$RsMaster = mysql_query($query_RsMaster, $burnerphp) or die(mysql_error());
$row_RsMaster = mysql_fetch_assoc($RsMaster);
$totalRows_RsMaster = mysql_num_rows($RsMaster);

mysql_select_db($database_burnerphp, $burnerphp);
$query_RsDelivery = "SELECT ProductID, ProductName, Price FROM tblSiteProducts WHERE ProductID = 33 OR ProductID = 34";
$RsDelivery = mysql_query($query_RsDelivery, $burnerphp) or die(mysql_error());
$row_RsDelivery = mysql_fetch_assoc($RsDelivery);
$totalRows_RsDelivery = mysql_num_rows($RsDelivery);

mysql_select_db($database_burnerphp, $burnerphp);
$query_RsBase = "SELECT * FROM tblbase";
$RsBase = mysql_query($query_RsBase, $burnerphp) or die(mysql_error());
$row_RsBase = mysql_fetch_assoc($RsBase);
$totalRows_RsBase = mysql_num_rows($RsBase);

$media_RsPrice = "1";
if (isset($_SESSION['frmmedia'])) {
  $media_RsPrice = $_SESSION['frmmedia'];
}
$dupe_RsPrice = "4";
if (isset($_SESSION['frmdupe'])) {
  $dupe_RsPrice = $_SESSION['frmdupe'];
}
$print_RsPrice = "5";
if (isset($_SESSION['frmprint'])) {
  $print_RsPrice = $_SESSION['frmprint'];
}
$pack_RsPrice = "8";
if (isset($_SESSION['frmpack'])) {
  $pack_RsPrice = $_SESSION['frmpack'];
}
$paper_RsPrice = "17";
if (isset($_SESSION['frmpaper'])) {
  $paper_RsPrice = $_SESSION['frmpaper'];
}
$paperextra_RsPrice = "22";
if (isset($_SESSION['frmpaperextra'])) {
  $paperextra_RsPrice = $_SESSION['frmpaperextra'];
}
mysql_select_db($database_burnerphp, $burnerphp);
$query_RsPrice = sprintf("SELECT sum( tblsiteproducts.Price ) as total_price  FROM tblsiteproducts WHERE tblsiteproducts.ProductID = %s OR tblsiteproducts.ProductID = %s OR tblsiteproducts.ProductID = %s OR tblsiteproducts.ProductID = %s OR tblsiteproducts.ProductID = %s OR tblsiteproducts.ProductID = %s", GetSQLValueString($media_RsPrice, "int"),GetSQLValueString($dupe_RsPrice, "int"),GetSQLValueString($print_RsPrice, "int"),GetSQLValueString($pack_RsPrice, "int"),GetSQLValueString($paper_RsPrice, "int"),GetSQLValueString($paperextra_RsPrice, "int"));
$RsPrice = mysql_query($query_RsPrice, $burnerphp) or die(mysql_error());
$row_RsPrice = mysql_fetch_assoc($RsPrice);
$totalRows_RsPrice = mysql_num_rows($RsPrice);
?>
<?php $_SESSION['unitcost']=$row_RsPrice['total_price']; ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Complexity HTML Theme</title>
<!--db start-->
<link href="../css/style.css" rel="stylesheet" type="text/css" />
<link href="../css/basic.css" rel="stylesheet" type="text/css" />
<link href="../css/contact.css" rel="stylesheet" type="text/css" />

<!--IE 6 "fixes"-->
<!--[if lt IE 7]>
<link type='text/css' href='css/basic_ie.css' rel='stylesheet' media='screen' />
<![endif]-->
<script type="text/javascript" language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2/jquery.min.js"></script>
<script type='text/javascript' src='../JScript/contact.js'></script>
<!-- db end -->
<!-- SEO -->
<meta name="keywords" content="keyword 1, keyword 2, keyword 3, keyword 4" />
<meta name="description" content="Put a description of your site here for the Search Engines." />

<!-- JS -->
<!--<script type="text/javascript" src="../../layout/js/jquery.js"></script>-->
<script type="text/javascript" src="../../layout/js/cycle.js"></script>
<script type="text/javascript" src="../../layout/js/hoverIntent.js"></script>
<script type="text/javascript" src="../../layout/js/superfish.js"></script>
<script type="text/javascript" src="../../layout/plugins/prettyphoto/js/jquery.prettyPhoto.js"></script>
<script type="text/javascript" src="../../layout/js/validate.js"></script>
<script type="text/javascript" src="../../layout/js/custom.js"></script>

<script language="javascript" type="text/javascript" src="../JScript/pricing.js"></script>
<script language="javascript" type="text/javascript" src="../JScript/check.js"></script>

<!-- CSS -->
<link rel="stylesheet" type="text/css" href="../../layout/css/reset.css" />
<link rel="stylesheet" type="text/css" href="../../layout/plugins/prettyphoto/css/prettyPhoto.css" />
<link rel="stylesheet" type="text/css" href="../../style.css" />

<!-- Specific Style -->
<link rel="stylesheet" type="text/css" href="../../layout/css/style1.css" />

<!--[if IE 6]>
<script type='text/javascript' src='layout/js/dd_belated_png.js'></script>
<script>DD_belatedPNG.fix('.ie6');</script>
<![endif]-->

<!-- Slideshow Nav -->
<script type="text/javascript">
function paginate(idx, slide){	
	return '<a href="" title="" class="ie6"><img src="layout/images/transparent.png" alt="" class="ie6" /></a>';
}
</script>

</head>

Open in new window

0
 

Author Comment

by:swordfishsoup
ID: 34217340
I disabled script debugging in Internet Explorer which has solved the issue for me. But I'm still unsure why the error came up in the first place. And does anyone know if debugging will be 'off' in the general public versions of IE7?
0
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 
LVL 6

Accepted Solution

by:
i-CONICA earned 500 total points
ID: 34217529
This is not a problem with your PHP code (which I can't fully test because I don't have that included file). It's a problem with your Javascript. As said, a server side error can't be browser dependent. So it's got to be client side, aka the javascript.

IE can be a bugger with subtle JS errors, run all JS through JSLint to see if it gives you any problems to fix... I'm not a JS expert so can't really offer much advice on that, but it's definatley not a problem with your PHP.

Ps, why do you end PHP and restart it on lines 3/4 and 4/5? There's no need. All you're doing there is starting to send content to the browser, that new line has to be sent, along with headers, meaning you can't modify them beyond that point... Keep it all in PHP until you need to send out content. :)
0
 

Author Comment

by:swordfishsoup
ID: 34217689
Thanks for that advice. I'll check the Jquery and report back.
as for
why do you end PHP and restart it on lines 3/4 and 4/5?
Because I tend to have to work it all out as I go along and didn't do any basic training - Costs me hours, good job I'm stubborn. Thanks, I'll correct that though.
0
 

Author Comment

by:swordfishsoup
ID: 34217749
Hi
You were dead right. It was one of the Js files. I've tidied up the PHP too.
Thanks again for your help.
Dave
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Several part series to implement Internet Explorer 11 Enterprise Mode
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question