Ok, we’ve built the Dan Akroyd Guessing Game, so now what?
Well, things to take away from the class:
- You learned how to perform a postback, which is where you send form data back to the same page so you can continue processing.
- Postbacks are good for validation, or for using the same page for multiple purposes.
- One example of a good postback use is an email form. For example, you could have a Contact Us form. The business process for the form would be:
- When the page is first loaded, it shows the Your Name, Email Address, and Comments fields.
- After submitting the form, you postback to your page and make sure they filled everything out.
- If the fields were all filled out, then you would hide the form part, send their message to some contact at the company, and display a message to the user that the comment has been received.
- If the fields were not all filled out, then you would display a message saying so. They would then submit the form again and again and again until they finally filled it out properly, and thus the email would be sent.
You learned about validation. While we touched on it briefly, validation is one of the most important concepts to master. Since interactive Web sites live and die by how they respond to user input, you need to make sure the user has actually entered information you can work with. On an industry note, secure coding practices dictate that you always validate the data received. We will be going over secure coding practices and validation in our next class.
- Remember what happened when we passed in a string and the shopping cart tried multiplying a number against a letter? Whoops!
- I added code using an if statement to validate the POSTDATA read from the $_POST array to make sure I a) received any data at all and b) whether it was a number. If the data was invalid, I used echo to write a Javascript script to display an alert on the client and used PHP’s exit command to stop all processing on the server. Otherwise, the server would have still tried processing the data, regardless of what was displayed on the client.
- For those who didn’t catch it, here’s the javascript I wrote:
-
<script type="text/javascript">alert("Sorry, the tire value appears to be incorrect. Please re-enter it."); history.go(-1);</script>
- The history.go(-1) tells the user’s browser to go back one page, as if they had hit the Back button. The good thing about this function is the user is brought back to the form and it should already be filled out with the data they had previously entered.
You also learned about business process. Remember what programming in the real world is all about:
- Programming is the digitization of a process, usually a business process.
So, if you document the process first, the program is much easier to write! You already know the steps you have to digitize. This is a very large part of writing a specification. If you don’t have a specification, and you don’t have a documented business process, your project will almost always ship late or never ship at all.
One last thing: You learned about some of the built in helper functions in PHP:
- is_numeric(value), which checks to see if a value is a number.
- rand(min, max), which returns a random integer number
You will end up memorizing many helper functions. They will make writing code much easier and much, much faster. Because many common tasks are taken care of by well-tested helper functions, you don’t have to write them yourself, which will make the code more reliable.
- As Steve Jobs said: "The best line of code is the one you never have to write."
I hope you enjoyed the class! Please let me know if you have any questions!
Best,
-Auri