Jump to content
Larry Ullman's Book Forums
Sign in to follow this  
ppvanya

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.

Share this post


Link to post
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.

Share this post


Link to post
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>';
  
}

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...