Solved

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

Posted on 2010-11-09
3
981 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
ID: 34097203
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
ID: 34097213
>>>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
ID: 34098198
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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I imagine that there are some, like me, who require a way of getting currency exchange rates for implementation in web project from time to time, so I thought I would share a solution that I have developed for this purpose. It turns out that Yaho…
This article discusses four methods for overlaying images in a container on a web page
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

740 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