php inclusion acting differntly between 2 pages.

I created a small inclusion to do the query write/update.  It works in page 1, but when I added the code to page 2, it displays the remarks, all the code and does not perform the update.

I've attached the relevant code for the two pages as well as the inclusion.
page1.php
page2.php
IO_inc.php
breeze351Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Marco GasiFreelancerCommented:
It looks like page 2 is not recognized as a php script: is there the php opening tag? In code you posted here that is missing in all files...
Ray PaseurCommented:
Agree with Marco.  Please add <?php error_reporting(E_ALL); as the top line of all three scripts, and try it again.  Please let us know if you get different output, or if you get messages that might be associated with these scripts.
breeze351Author Commented:
The <?php is at the top of both pages.
I added error_reporting(E_ALL) to the top of page 2.
Got the same results with the display of comments and code.

Just for the halibut, I added <?php ..... ?> to the inclusion.  It processes the code as expected (update worked), however I got the following error message:

Warning: Cannot modify header information - headers already sent by (output started at /home/mrbreez1/public_html/IO_inc.php:25) in /home/mrbreez1/public_html/Update_Tenant.php on line 268

I know what the error means, but the only thing that would cause this is echo statement in the inclusion that isn't executed.
Angular Fundamentals

Learn the fundamentals of Angular 2, a JavaScript framework for developing dynamic single page applications.

Julian HansenCommented:
Try removing the closing ?> on the io_inc.php page

The error is saying that some output was sent. This could be a space that comes after the closing ?>

If the page is all PHP code you can omit the closing ?> which prevents any empty spaces at the end of the script being interpreted as output to the browser
i.e
<?php
// **************************************************************
// * IO_inc.php                                                 *
// * Inclusion to preform SQL I/O with error checking.          *
// **************************************************************
// * Version 4.0                                                *
// **************************************************************
// * Modifications:                                             *
// * Ver   By     Date       Description                        *
// * 4.0   GJJD   09/06/16   Created                            *
// *                                                            *
// ************************************************************** 
	$io = $conn->query($SqlString);			
	if (!$io)
	{
		$io_error = "Query Failed: "
		. $SqlString
		. ' ERRNO: '
		. $conn->errno
		. ' ERROR: '
		. $conn->error
		;
		echo $io_error."<br>";
	}

Open in new window

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Ray PaseurCommented:
Unless it's absolutely necessary, you never want to use the close-PHP tag.  It creates more problems than it's worth.

"Cannot modify header..." is covered here (check the part about output buffering):
https://www.experts-exchange.com/articles/4423/Warning-Cannot-modify-header-information-headers-already-sent.html

It sounds like the issue might be something in the context or scope of the scripts.  I don't think we have enough information here to debug it (without a lucky guess), so if you can tell us a little more about how these scripts get called, or better yet create the SSCCE that we can install and run on our own servers, that would be very helpful.
breeze351Author Commented:
I removed the ?> and it worked.  I don't care right now because it does work, but why would it work on page1 and not page2!
Julian HansenCommented:
Without access to the raw files cannot say. The files you posted seemed sanitized - there were no script tags so assuming they are not strictly the same as the live ones.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PHP

From novice to tech pro — start learning today.