Solved

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

Posted on 2010-11-09
3
975 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: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

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

Developers of all skill levels should learn to use current best practices when developing websites. However many developers, new and old, fall into the trap of using deprecated features because this is what so many tutorials and books tell them to u…
Introduction This article is intended for those who are new to PHP error handling (https://www.experts-exchange.com/articles/11769/And-by-the-way-I-am-New-to-PHP.html).  It addresses one of the most common problems that plague beginning PHP develop…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
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…

809 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