Cannot pass variable to particular section

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
esbsolutions
Forum Newbie
Posts: 1
Joined: Mon Dec 01, 2003 9:36 pm

Cannot pass variable to particular section

Post by esbsolutions »

For some reason I'm unable to pass the selectedagency variable to the second section (the if ($comment) section) so that it can re-display the same page....once I activate the comment button, it jumps to the
!$num_results section because the selectedagency variable has not passed. Any suggestions? Just a note: I have some debug script in here, so ignore it if possible.

Thanks so much!

Code: Select all

<center>
	<?include("adminnav.php3");?>
        <form method="post" action="<?php echo $PHP_SELF; ?>">
        <?php

        if (!$submit)
		&#123;
		?>
		<table width="500" border="0" valign="top" align="center">
		<tr><td width="500" border="0" valign="top" align="center">
		<h3>Agency Reports</h3>
		Please select an agency in order to view their PowerBucks Report.<br /><br />

                <?include("db.php3");?>
                <?include("dbselect.php3");?>

		<?php
            	// populate the drop down menu
            	$namepull = "SELECT * FROM listings ORDER BY agency ASC";
            	// execute SQL query and get result
            	$nameput = mysql_query($namepull) or die(mysql_error());

            	// put data into drop-down list box
            	while ($r = mysql_fetch_array($nameput))
                	&#123;
                	$agency=$r&#1111;"agency"];
                	$agencies .= "<option value="$agency">$agency";
                	&#125;

		?>
		<select name="selectedagency" id="agency" size="1" style="background-color:#F7F7F7;">
		<? echo "<option value="0" selected>Select Agency Report";?>
		<? echo "$agencies"; ?>
		</select>
		<input type="submit" name="submit" value="Submit" class="button">

		<?php

		&#125;

	$selectedagency=$HTTP_POST_VARS&#1111;'selectedagency'];
        if($submit)
		&#123;
		$selectedagency=$HTTP_POST_VARS&#1111;'selectedagency'];		
            	if ($selectedagency=='0')
            		&#123;
            		include("db.php3");
                        include("dbselect.php3");

			echo '<h3>Agency Reports</h3>You have not selected an agency!<br /><br />Please select an agency in order to view their PowerBucks Report.<br /><br />';

            		// populate the drop down menu
            		$namepull = "SELECT * FROM listings ORDER BY agency ASC";
            		// execute SQL query and get result
            		$nameput = mysql_query($namepull) or die(mysql_error());

            		// put data into drop-down list box
            		while ($r = mysql_fetch_array($nameput))
                		&#123;
                		$agency=$r&#1111;"agency"];
                		$agencies .= "<option value="$agency">$agency";
                		&#125;

			?>
			<select name="selectedagency" id="agency" size="1" style="background-color:#F7F7F7;">
			<? echo "<option value="0" selected>Select Agency Report";?>
			<? echo "$agencies"; ?>
			</select>
			<input type="submit" name="submit" value="Submit" class="button">
			<?php

			exit;
			&#125;


		
		if ($comment)
			&#123;
			$selectedagency=$HTTP_POST_VARS&#1111;'selectedagency'];			
			$message = $HTTP_POST_VARS&#1111;'message'];				
    			$recipient = "cybersounds@yahoo.com";
    			$subject = "Message from $agency via transaction page";
    			@mail($recipient, $subject, $message, "From:PowerBucks <powerworks@trinitynet.com>");	
				
			echo isset($selectedagency);
			echo isset($nothere);
			echo empty($selectedagency);
			echo empty($nothere);
				
			echo '<pre>'; 
			print_r ($HTTP_POST_VARS); 
			echo '</pre>';				
				

    			include("db.php3");
			include("dbselect.php3");
			$date=date('F j, Y');
				
        		$theQuery = "SELECT * FROM listings WHERE agency='$selectedagency'";
        		$agencyquery= mysql_query($theQuery) or die(mysql_error());

			while($r = mysql_fetch_array($agencyquery))
				&#123;
				$id=$r&#1111;"id"];
				$agency=$r&#1111;"agency"];
                		$budget=$r&#1111;"budget"];                      
	
                        	include("dbselect.php3");
				$HoursSum= "SELECT sum(Hours) FROM transactions WHERE 			AgencyID='$id'";
				$HoursSumResult=mysql_query($HoursSum);
				$TotalHours= mysql_result($HoursSumResult,0);
            			$Balance= $budget - (100*$TotalHours);

				include("dbselect.php3");
				$JobNumHoursSum = "SELECT JobNum, Project, AgencyID, 	SUM(Hours) from transactions WHERE AgencyID='$id' GROUP BY JobNum";
            			$transactions=mysql_query($JobNumHoursSum);
            			$num_results = mysql_num_rows($transactions);
            			&#125;

        		if (!$num_results)
                		&#123;
				echo '<h3>Agency Report: '.$agency .'</h3><p>	<center><br /><h5>TRANSACTIONS as of '.$date.':</h5><table border="0" width="500" cellspacing="0" cellpadding="0"><tr><td align="left" width="167" class="starting">Starting Balance</td><td align="right" width="333" class="starting"><b>$'.$budget.'</b></td></tr><tr><td class="top" colspan="2"><br /><br /><i>No transactions have been inputted</i><br /><br /><br /></td></tr><tr><td align="left" width="167" class="remaining">Remaining Balance</td><td align="right" width="333" class="remaining"><b>$'.$Balance.'</b></td></tr></table><br /><a href="admin.php3" class="roll">Go back</a></center></p>';
				exit;
                		&#125;

			if ($num_results)
				&#123;
				echo '<h3>Agency Report: '.$agency .'</h3><p><center><br /><h5>TRANSACTIONS as of '.$date.':</h5><table border="0" width="500" cellspacing="0" cellpadding="0"><tr><td align="left" width="167" class="starting">Starting Balance</td><td align="right" width="333" colspan="2" class="starting"><b>$'.$budget.'</b></td></tr><tr><td class="top" colspan="3">&nbsp;</td></tr><tr><td align="left" class="top"><b>Job Number</b></td><td align="left" class="top"><b>Project</b></td><td align="right" class="top"><b>YTD</b></td></tr>';

            			while($r = mysql_fetch_array($transactions))
                			&#123;
                			$JobNum=$r&#1111;"JobNum"];
                			$Project=$r&#1111;"Project"];
                			$AgencyID=$r&#1111;"AgencyID"];
                			$Hours=$r&#1111;"SUM(Hours)"];
                			$Powerbucks=100*$Hours;

                			echo '<tr><td align="left">'.$JobNum.'</td><td align="left">'.$Project.'</td><td align="right">$'.$Powerbucks.'</td></tr>';
                			&#125;

            			echo '<tr><td class="top" colspan="3">&nbsp;</td></tr><tr><td align="left" width="167" class="remaining">Remaining Balance</td><td align="right" width="333" colspan="2" class="remaining"><b>$'.$Balance.'</b></td></tr></table><br /><br />Your message has been posted.<a href="admin.php3" class="roll">Go back</a>';
				&#125;
			&#125;
				
		if (!$comment)
			&#123;
            		include("db.php3");
			include("dbselect.php3");
			$date=date('F j, Y');			

        		$theQuery = "SELECT * FROM listings WHERE agency='$selectedagency'";
        		$agencyquery= mysql_query($theQuery) or die(mysql_error());

			while($r = mysql_fetch_array($agencyquery))
				&#123;
				$id=$r&#1111;"id"];
				$agency=$r&#1111;"agency"];
                		$budget=$r&#1111;"budget"];                      
		
                        	include("dbselect.php3");
				$HoursSum= "SELECT sum(Hours) FROM transactions WHERE AgencyID='$id'";
				$HoursSumResult=mysql_query($HoursSum);
				$TotalHours= mysql_result($HoursSumResult,0);
            			$Balance= $budget - (100*$TotalHours);

				include("dbselect.php3");
				$JobNumHoursSum = "SELECT JobNum, Project, AgencyID, 	SUM(Hours) from transactions WHERE AgencyID='$id' GROUP BY JobNum";
            			$transactions=mysql_query($JobNumHoursSum);
            			$num_results = mysql_num_rows($transactions);
            			&#125;

        		if (!$num_results)
                		&#123;
				echo '<h3>Agency Report: '.$agency .'</h3><p>	<center><br /><h5>TRANSACTIONS as of '.$date.':</h5><table border="0" width="500" cellspacing="0" cellpadding="0"><tr><td align="left" width="167" class="starting">Starting Balance</td><td align="right" width="333" class="starting"><b>$'.$budget.'</b></td></tr><tr><td class="top" colspan="2"><br /><br /><i>No transactions have been inputted</i><br /><br /><br /></td></tr><tr><td align="left" width="167" class="remaining">Remaining Balance</td><td align="right" width="333" class="remaining"><b>$'.$Balance.'</b></td></tr></table><br /><a href="admin.php3" class="roll">Go back</a></center></p>';
				exit;
                		&#125;

			if ($num_results)
				&#123;
				echo '<h3>Agency Report: '.$agency .'</h3><p><center><br /><h5>TRANSACTIONS as of '.$date.':</h5><table border="0" width="500" cellspacing="0" cellpadding="0" valign="top"><tr><td align="left" width="167" class="starting">Starting Balance</td><td align="right" width="333" colspan="2" class="starting"><b>$'.$budget.'</b></td></tr><tr><td class="top" colspan="3">&nbsp;</td></tr><tr><td align="left" class="top"><b>Job Number</b></td><td align="left" class="top"><b>Project</b></td><td align="right" class="top"><b>YTD</b></td></tr>';

            			while($r = mysql_fetch_array($transactions))
                			&#123;
                			$JobNum=$r&#1111;"JobNum"];
                			$Project=$r&#1111;"Project"];
                			$AgencyID=$r&#1111;"AgencyID"];
                			$Hours=$r&#1111;"SUM(Hours)"];
                			$Powerbucks=100*$Hours;

                			echo '<tr><td align="left">'.$JobNum.'</td><td align="left">'.$Project.'</td><td align="right">$'.$Powerbucks.'</td></tr>';
                			&#125;

            			echo '<tr><td class="top" colspan="3">&nbsp;</td></tr><tr><td align="left" width="167" class="remaining">Remaining Balance</td><td align="right" width="333" colspan="2" class="remaining"><b>$'.$Balance.'</b></td></tr><tr><td colspan="3" valign="top"><br />Post a comment or <a href="admin.php3" class="roll">go back.</a><br /><textarea wrap name="message" rows="2" cols="50"></textarea><br /><input type="hidden" name="submit" value="Submit"><input type="submit" name="comment" value="Submit" class="button"></td></tr></table>';
				&#125;
			
			&#125;
			
			
		&#125;
		
	?>
	</form></center>
User avatar
m3mn0n
PHP Evangelist
Posts: 3548
Joined: Tue Aug 13, 2002 3:35 pm
Location: Calgary, Canada

Post by m3mn0n »

You should filter out all the working code and only post suspected problem areas and any messages PHP sends to the browser. Thanks.
markbeadle
Forum Commoner
Posts: 29
Joined: Tue Dec 02, 2003 2:50 am
Location: Aachen, Germany

Post by markbeadle »

Not sure as it would be easier to have cleaner code :wink: to look at.

I would separate the form from the processing...

if ($submit) {
//process
}
if ($comment) {
//process
}

// form output
<select name="selectedagency" id="agency" size="1" style="background-color:#F7F7F7;">

this would make your code more readable and allow you to validate any entries in the form and reset to default if not valid (ok, not needed for select but could be useful for other input types).

If you have problems try a var_dump of the $_POST variable and see what is returned.

Hope that helps.
Post Reply