Jump to content
Larry Ullman's Book Forums

Validation Of Radio Buttons And Select Fields Not Working


Recommended Posts

Hello,

 

I'm new to this forum thanks to a stupid problem I've been struggling with in the past couple of days. Now please keep in mind that I'm a newbie PHP dev, as in I'm working on a school project and sadly there's nobody who could give me a hand there.

 

I need to warn you that my code uses the mysql functions, not mysqli or whatever else, since I'm using XAMPP and I don't really need to upgrade to the newest version.

 

So, the problem is this: for some reason I can't seem to be able to validate my radio button group or my select field(drop down list). If I don't validate, will my data be sent to the db anyway because that would be the better option. If not, could you please help me out?

 

Here's my code:

<?php
	$query_fill_table = "SELECT `movie_title`, `play_time_1`, `play_time_2`, `play_time_3` FROM `on_screen`";
	if($query_fill_table_run = mysql_query($query_fill_table))
	{
		echo '<table border="1">
		<tr>
		<th>Movie Title</th>
		<th>Show Times</th>
		<th>Number of Seats</th>
		</tr>';
		
		while($query_rows = mysql_fetch_assoc($query_fill_table_run))
		{
			echo '<tr>';
			echo '<td>'.$query_rows['movie_title'].'</td>';
			echo '<td>';
?>

<form action="make_reservation.php" method="POST">

	<input type = "radio" name = "showtimes" value = "1"><?php echo $query_rows['play_time_1'];?>
	<input type = "radio" name = "showtimes" value = "2"><?php echo $query_rows['play_time_2'];?>
	<input type = "radio" name = "showtimes" value = "3"><?php echo $query_rows['play_time_3'];?>

</form>

<?php
			echo '</td>';
			
			echo '<td>';
?>

<form action="make_reservation.php" method="POST">
	<select name = "seats">
		<option value="0"></option>
		<option value="1">1</option>
		<option value="2">2</option>
		<option value="3">3</option>
		<option value="4">4</option>
		<option value="5">5</option>
	</select>
</form>
<?php			
			echo '</td>';
		}
		
		echo '</table>';
		
		if(isset($_POST['showtimes'], $_POST['seats']))
		{
			$showtimes = $_POST['showtimes'];
			$seats = $_POST['seats'];
			
			//this is just a check
			if($showtimes==1)
			{
				echo 'ok';
			}
		}
		else
		{
			echo 'not ok.';
		}
	}

?>

<form action="make_reservation.php" method="POST">
	<input type="submit" value="Submit reservation">
</form>

This isn't the complete code, but it is the validation section which is what seems to not be working.

 

I will greatly appreciate any opinions.

 

Thanks!

 

~Vanya D.

Link to comment
Share on other sites

Hi ppvanya

 

It would help us to help you if you were more specific about what the problem is. Specifically, what  do you mean when you say the validation section isn't working and you can't validate the radio button group? Are you getting any errors? How do you know it isn't working? what are you expecting to happen?

 

You will want to do some initial debugging - are you sure your query is running ok?

 

You've set up 2 separate forms - is that what you meant to do?

 

You should be able to use mysqli functions with xampp, and you should consider switching to mysqli because you are using deprecated functions which will not be supported for much longer. You might as well learn something that is going to last awhile. mysqli is very similar to mysql, look up the functions in the php manual, most of them are very similar with just a change in how the parameters are coded.

Link to comment
Share on other sites

Vanya, I very much agree with margaux in that you should be using either the MySQLi functions or prepared statements.

 

As for your problem, you haven't given us much information, but I can at least say the following:

- Radio buttons and check boxes are unique input in that unless you click on one or more for a group, no information is posted.

- Try running the following somewhere in your script, and see what the output is. From that, you may be able to determine the problem on your own:

if (isset($_POST)) {
  
  echo '<pre>';
  
  print_r($_POST);
  
  echo '</pre>';
  
}
Link to comment
Share on other sites

 Share

×
×
  • Create New...