|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2001-11-15 16:05 UTC] actualmatt at yahoo dot com
Running PHP 4.0.6 on Apache 1.3.20, on Win98SE... Browser returns the "500 - Internal Server Error" msg, and the error log reports "Premature end of script headers: c:/php/php.exe"
It seems to be caused by an if() inside a while(), which is inside a foreach(). The script will reach that point with no problems, but crashes on the execution of the "if( $day > $startdate and $day < $enddate ){}"
PHP is only compiled with the default modules.
The other thing worth noting is that I get a "Php: This program has performed an illegal operation and will be shut down" dialog box.
Thanks,
Matt Wilson <actualmatt@yahoo.com>
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 07:00:01 2025 UTC |
This is the script that causes the problems: (I tried cutting it down more, but as the problem part relies on the rest of the script it wasn't possible) <?php if( !isset( $month )) { $month = date("m"); } $month = str_pad( $month, 2, "0", STR_PAD_LEFT); $month = str_pad( $month, 4, "0"); $people = array( "ross", "jen", "jon", "mp", "matt", "marty" ); $link = odbc_connect( 'calendar', '', '' ) or die("connect failed"); foreach( $people as $person ) { $result = odbc_exec( $link, "SELECT * FROM calendar WHERE name = '$person'"); echo $person ."<br>"; while( odbc_fetch_row( $result ) ){ $startdate = odbc_result( $result, 2 ); $enddate = odbc_result( $result, 3 ); $startdate = substr( $startdate, 4, 4 ); $enddate = substr( $enddate, 4, 4 ); for( $day = 1; $day <32; $day++ ){ if( $day > $startdate and $day < $enddate ) { //BUG OCCURS HERE $$person[ $month ][ $day ] = "away"; } else { $$person[ $month ][ $day ] = "here"; } echo $$person[ $month ][ $day ] ."<br>"; } }} ?>