Paul M Foster wrote:
On Wed, Jan 13, 2010 at 11:39:18AM -0800, Richard S. Crawford wrote:Here is a snippet of code that is going to be the death of me: ------------------------------------------------------------ // Create a new project $projectcode = strtoupper(addslashes($_POST['projectcode'])); // project code // Make sure the project code is unique if (!$existingproject = mysql_query("select * from pb_versions where projectcode like '".strtoupper($projectcode)."'")) { die ("Could not check for existing project code!<br />".mysql_error()); } $numprojects = mysql_num_rows($existingproject); if ($numprojects > 0) { $pid = mysql_result($existingproject,0,"versionID"); header("Location:managebudget.php?e=1&pid=$pid"); } ------------------------------------------------------------ Now, even if $numprojects is 1, 2, 3, etc., the header() command is not executed. Strangely, a header("Location") command later on in the script *is* executed. I've output the value of $numprojects, so I know that it's greater than 0, so the command header("Location:managebudget.php?e=1&pid=$pid"); *should* be executed... but it isn't. (Weirdly, if I put a die() command *after* this header() command, it works... but it seems pathologically inelegant to do so.) Obviously, I'm missing something incredibly basic. Can anyone help me figure this out?For one thing, I'd put a space after "Location:" in the header() call. But I've found that this call will sometimes fail (or *look* like it fails) unless you put something like exit(); after it. This terminates execution and forces the script to transfer control as it should. Just make it a habit to always include and exit(); call after your final header() call.
Just make your life easy and create a redirect() function that generates the header instruction, makes a relative URL into an absolute URL and does the exit call. Then you just need to do:
redirect( 'target.php' ); Sooooooooo much simpler :) Cheers, Rob. -- http://www.interjinn.com Application and Templating Framework for PHP -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php

