Scripting Class: No RSVPs…

Posted: September 23, 2008 in Uncategorized

Well, I didn’t get any emails asking for directions, so I’m guessing nobody is coming. I’ll just cancel and hope you read the chapter 🙂

Databases *will* be covered on the final, so practice up!

Best,

-Auri

Email me for directions… sorry, AII didn’t have any rooms available…

Best,

-Auri

1. Read up on databases.

2. Finish skinning your shopping cart.

Last day of class is next week – we’ll have an Experience (a.k.a. "Final").

Please call or email me with any questions.

Best,

-Auri

Assignment 1: Take the working Shopping Cart script and skin it with a complete user interface. Make it purty. See how the PHP code interacts with your design. IM, email, or call me with questions!

Assignment 2: Read the Shopping Cart example chapters in the book. You don’t have to worry about getting the cart in the book working – just review it to see how they are adding and removing items.

Assignment 3: Re-read Chapter 3 on Arrays and read Chapter 10 on Sessions.

I’ve uploaded the code to the Scripting Class files area on my space.

Good luck and see you Friday!

Class Notes from August 29

Posted: August 31, 2008 in Uncategorized

I’ve uploaded the notes from class to the files section on my blog:

http://aurirahimzadeh.spaces.live.com/files/

Your assignment, due September 5:

Create a Shopping Cart

Business Rules:

  1. Display list of products for selection, including prices
  2. Allow user to Select from that list and Enter a Quantity and add that item to the Shopping Cart
  3. Allow user to View the Shopping Cart
  4. Allow user to Update Quantity or use 0 to signify they want to remove an item
  5. Allow user to Check Out, with Check Out screen showing all items being purchased, their prices, and a total price
  6. Check Out Screen should also require the user to enter their First and Last Name, Shipping Address, and Email Address
  7. Upon successfully filling out the Check Out Screen, the user should be taken to a Thank You page, which should summarize the order and show where it’s shipping

Concepts Used:

  • Arrays
  • Session
  • Loops
  • Include Files
  • Comments

Please email or call me with any questions!

Have a great Labor Day weekend!

Best,

-Auri

We discussed XAMPP Lite, which is another good PHP + Apache + MySQL server for Windows.

To download XAMPP Lite, go to http://www.apachefriends.org/download.php?xampplite-win32-1.6.7.exe

For info on how to install and use XAMPP Lite, go to: http://www.apachefriends.org/en/xampp-windows.html

Build the following applications yourself and show me they work on Friday:

Skim back through Chapter 2, and see how what we did on Friday’s class relates to what’s in that chapter.

Read Chapter 3, and do all of the coding examples.

If you don’t already have MAMP or WAMP on your home computers, I suggest one be installed so you can quickly work on your projects without relying on somebody else’s server. It’ll also give you much more flexibility in working with your own projects outside of this class.

I encourage you to play around with all examples. Change variables, make the code do more than the example intended. See how changes you make affect the outcome. It’s good if you have bugs in your code in this class, because you’ll learn how to fix them! This is called debugging. Of course, when you do real world projects. you don’t want bugs 🙂

Now, do you know why they’re called bugs? It’s because back in the old days of vacuum-tube based computers, bugs would crawl into the system and cause the tubes to blow. So, the maintainers of those huge computer systems had to literally de-bug their machines!

Please let me know if you have any questions!

Best,

-Auri

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:
  1. When the page is first loaded, it shows the Your Name, Email Address, and Comments fields.
  2. After submitting the form, you postback to your page and make sure they filled everything out.
  3. 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.
  4. 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