Skip to main content

PHP Forms Class: All Tied Together

In the last few examples concerning the forms, I've gone through how to create the Forms class and how to create a method to utilize that class.

To refresh your memory:
http://dinocajic.blogspot.com/2015/06/php-forms-class.html
http://dinocajic.blogspot.com/2015/06/php-forms-class-in-action.html

This time, I'm going to show you how I tie it all in by creating a real life example.

The following class was created as part of a larger web-application that inserts a purchase order into the database. It's very brief and the next class will add items to that purchase order.

What we want to store is:

  • PO #
  • Date that the shipment is scheduled to arrive
  • Which location is the shipment arriving to
  • What's the current status of the shipment. If it's ordered from China, for example, there can be a few different types of statuses:
    • Water
    • Rail
    • Truck or
    • Hasn't Shipped
Overview of the class AddPackingSlip
  • I like to take the Java approach and import all of my classes at the beginning of the code before I start my class.
  • Initiate all of the required properties.
  • __construct() is called on object instantiation ($obj = new AddPackingSlip()) to Instantiate the required classes
  • main() method is called from the file that instantiated the $obj ($obj->main())
  • main() checks if the form has been submitted
  • If it hasn't, it'll call the form() method that generates the form with the help of the Forms Class that we've created and imported
  • Once the form is submitted, checkForErrorsAndSanitize() method is called; as you can probably guess, it checks for errors, sanitizes the $_POST values and assigns them to the initiated properties. If any test returns anything other than the requested value, it'll set an error message to the $errors[] array and assign the name of the field as the key.
  • The $errors[] array is returned and if it's not empty, the form() method is called again and $errors[] is passed as the parameter to display the errors on the page.
  • Once everything checks out, the sanitized values are inserted into the database and a confirmation message is displayed letting the user know that everything was successful.
  • The mysqli connection is closed.


I may revisit this code and show you a better way to handle errors at a later time.

Comments

Popular posts from this blog

Beginner Java Exercise: Sentinel Values and Do-While Loops

In my previous post on while loops, we used a loop-continuation-condition to test the arguments. In this example, we'll loop at a sentinel-controlled loop. The sentinel value is a special input value that tests the condition within the while loop. To jump right to it, we'll test if an int variable is not equal to 0. The data != 0 within the while (data != 0) { ... } is the sentinel-controlled-condition. In the following example, we'll keep adding an integer to itself until the user enters 0. Once the user enters 0, the loop will break and the user will be displayed with the sum of all of the integers that he/she has entered. As you can see from the code above, the code is somewhat redundant. It asks the user to enter an integer twice: Once before the loop begins, and an x amount of times within the loop (until the user enters 0). A better approach would be through a do-while loop. In a do-while loop, you "do" something "while" the condition

Programming Language Concepts Questions/Answers Part 3

1. What is an associative array? - An unordered collection of data elements that are indexed by keys. 2. Each element of an associative array is a pair consisting of a _______ and a _______. - key and a value 3. True or False? Java supports associative arrays? - True. As a matter of fact, Perl, Python, Ruby, C++, C# and F# do too. 4. What are associative arrays called in Perl? - hashes 5. Why are associative arrays in Perl called hashes? - Because their elements are stored and retrieved with a hash function 6. What character does a hash in Perl begin with? % 7. In Perl, each key is a _____ and each value is a _______. - string - scalar 8. In Perl, subscripting is done using _______ and _______. - braces and keys 9. In Perl, how are elements removed from hashes? - using delete 10. In Perl, the ________ operator tests whether a particular value is a key in a hash. - exists 11. What are associative arrays called in Python? - dictionaries 12. What is a dif

Creating your own ArrayList in Java

Wanted to show that certain data structures in Java can be created by you. In this example, we'll go ahead and create an ArrayList data structure that has some of the methods that the built in ArrayList class has. We'll create 2 constructors: The default constructor that creates an ArrayList with a default size of 10. Constructor that allows an initial size to be passed to the array. We'll also create a number of methods: void add(Object x);  A method that allows you to place an Object at the end of the ArrayList. void add(int index, Object x);  A method that allows you to place a value at a given location. Object get(int index):  Allows you to retrieve a value of the arrayList array from a given location. int size();  Allows you to get the number of elements currently in the Arraylist. boolean isEmpty();  Tests to see if the Arraylist is empty. boolean isIn(Object x);  A method that sees if a particular object exist in the arrayList. int find(Object x);