Solved

Create a Movies Class that determines the cost of a ticket to a cinema.

Posted on 2010-11-09
3
952 Views
Last Modified: 2012-05-10
Are there any suggestions about the code I have created. I need to create a movies class that goes with Admission.php and Movies.html that I have created that determines the cost of a ticket based on the age. the full price of the ticket is 10.00. I need to assign the age to a private data member then use a public member function to determine the ticket price based on the following
under 5 = free
5-17 = half price
18-55 = full price
over 55 2.00 off full price
class Movies
	{

		private $age = 0; //declare private age
		private $ticketPrice = 10.00;//declare private ticket price 

                //create public function assign age       //it		
		public function Movies($age){
		$this->age = $age;
		}

		public function Movies($ticketPrice){
			
			if(age < 5){
			$this->ticketPrice = 0;
			}
			if(age > 5 && age < 18){
			$this->ticketPrice = $ticketPrice / 2;
			}
			if(age >= 18 && age <= 55){
			$this->ticketPrice = $ticketPrice;
			if(age > 55 ){
			$this->ticketPrice = $ticketPrice - 2.00;
			


	}

Open in new window

Admission.php
Movies.html
Movies.php
0
Comment
Question by:rcham68
  • 2
3 Comments
 
LVL 31

Accepted Solution

by:
Frosty555 earned 500 total points
Comment Utility
In your movies class, remove the second constructor Movies() constructor. You don't want a constructor, you want a function which retrieves the correct age given the provided values.

            public function Movies($ticketPrice){

should be

            public function getDiscountTicketPrice($ticketPrice){

Then in your Admissions.php, you should instantiate the class, pass the age into the constructor when you instantiate it, and then call the "getDiscountTicketPrice()" function, passing in the ticket price of "10.00". The function should return the "new" ticket price according to the age, assuming you wrote that function correctly.

You can then use that value wherever you like in your Admissions.php page (show it on the page somewhere, store it in a database, process an order etc.).

A few other minor things in your other pages:

1) Don't require Movies.html in your Admissions.php page. It is not required. The Movies.html page posts data to the Admissions.php page, the two are not dependencies of each other.

2) Change the "method" property of your form from "GET" to "POST" in your Movies.html. Your form should be posting the data to the Admissions.php page.

3) In your Admission.php page, you should be doing some error checking - e.g. what happens if the user posts invalid data, or no data at all? It should maybe redirect back to the Movies.html page or show an error message.
0
 
LVL 31

Expert Comment

by:Frosty555
Comment Utility
>>>you want a function which retrieves the correct age given the provided values

Sorry that should read "you want a function which retrieves the correct DISCOUNTED TICKET PRICE given the provided values"
0
 

Author Comment

by:rcham68
Comment Utility
I have made the changes that you suggested but I am still not getting it to work. I think I have something wrong in the admission.php
<----Admission.php--->
<?php
require_once("Movies.php");

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Movies</title>
</head>

<body>
<h1>Admissions</h1>

<?php



$ticketPrice = new Movies($age);
$ticketPrice->getTicketPrice();
$ticketPrice = 10.00;
$ticketPrice->getTicketPrice($ticketPrice);



echo"<p>The ticket price is $ticketPrice </p>\n";
?>




</body>

</html>

Open in new window

Movies.html
Movies.php
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Introduction HTML checkboxes provide the perfect way for a web developer to receive client input when the client's options might be none, one or many.  But the PHP code for processing the checkboxes can be confusing at first.  What if a checkbox is…
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
The viewer will learn how to count occurrences of each item in an array.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now