Javascript

Week Assign Subject Application
Week #1 Basic Tags, comments, functions, strings, & variables. Print a variable.
Week #2 Basic Date(), Time(), & conditionals.
concantenation, switch case & escaping php to html output.
Print URL each day of the week using switch/case & comparing to numeric day of the week.
Week #3 Basic & Advanced Using Array's.
Adding/subtracting numbers in $strings.
Images path to a different directory.
Print a different url every day of the month using an array.
ADVANCED: Print a different url every day of the month with a different category of url for each day of the week using a multi-dimensional array.
Week #4 Basic & Advanced Randomness.
Getting the size of an array $count.
mt_srand: sets random seed (source).
and mt_rand(time()); function.
include() & require().
Rotate banners kept inside an array stored using a separate file and using require to bring into the main script which does the rotation.
ADVANCED: Rotate banners kept inside a multi-dimensional array in at least 3 different categories stored using a separate file and using require to bring into the main script which does the rotation and weighting the results of one banner category over the other two.
Week #5 Basic    Advanced Forms, methods.
Submitting form data, Form processing.
GET, POST, ENCTYPE
Looping
quiz
Submit a username and password to enter a page. If the username and password does not match the variable hardcoded in the script show the login form again with an error message.
ADVANCED: Upon correct login display a list of banners in an array from a select box to display (you can use either a single or multi-dimensional array). Upon choosing a banner and pressing submit, then have the script print the banner to the browser. This will allow for an account of banners that only a person with the correct username/password can get in and view by image path. Use either a for() or while() loop to create the dropdown SELECT box with the available banners in the array and hidden form tags to transfer the validated password.
Week #6 Basic    Advanced Sending mail()
Email validation
Multiple recipients
Example
Accept form input and send the comments to and from someone that is input via form, do not hardcode the recipient or the from address. Add in security to make sure that the "to" and "from" look like legitimate email addresses.
ADVANCED: Write a "Share these urls with your friends" script which will send a series of at least 3 different urls that the user must enter into the form to at least 3 different email addresses. Add in security to make sure that the "to" and "from" look like legitimate email addresses and use the $PHP_SELF variable.
Week #7 Basic    Advanced Regular Expressions
Environmental Variables
Print the IP address if a surfer comes from a bookmark or type-in and show their browser type, and if the person comes from YOUR domain then print a clickable url.
ADVANCED: Go back to your advanced "send a url to a friend" mail script from week #6 and add security so that only direct links from your domain (so that we can check it out from the forum without the error popping up) can access the form and provide an error routine for those that try to come in from bookmark or type-in or illegal domain
Week #8 Basic    Advanced Headers & Redirection.
JavaScript for status bar
example
Randomly choose a URL and redirect the surfer when clicked. Make the URL a javascript mouseover so that it is a blind link so the person clicking will not see the result in the browser status window.
Blah:
Week #9 Basic    Advanced cookies A script to enter urls using a form and save the unique urls in a cookie for the current browser session, and then display the urls that are saved using the same script as active hyperlinks opening in a target window.
Blah:
Week #10 Basic    Advanced .htaccess & .htpasswd
explode() & delimeters
file() fopen() feof() fgets()
fclose() crypt() fputs()
"r" "w" "a" (read,write,append)

Example-.htaccess
Array_Splice()  Checkbox
Add sorted email addresses and names to a file and with the same script how to retrieve all the information and print to browser the name and email address in a table to the browser.
ADVANCED: Add and delete sorted email addresses and names to a file and with the same script how to retrieve all the information and print to browser the name and email address in a table to the browser.
Week #11 Basic    Advanced flock()

Example
Search through the contents of a file CASE iNsensiTiveLy, match all entries and change from the information submitted on a form and print the entire contents of the file to the browser. All should be self enclosed in one script with find and replace text boxes and use filelocking.
ADVANCED: Stuff
Week #12 Basic    Advanced

CHMOD on a directory
file_exists()
mkdir() readdir()
opendir() closedir()
rewinddir() rmdir()
passthru()
A script to allow you to create and delete directories from the browser. Make this script password protected using a hardcoded user/pass combination.
ADVANCED: Stuff
Week #13 Basic    Advanced File UploadsExample Basic: A script which will accept only .jpg and .gif file uploads of less than 50k and then display the uploaded file along with a button to delete the picture beneath it. Password protect the script so that unless a correct login/pass is used the user will not be able to view or upload the files. Use hidden form fields, not query strings to transfer the user/pass info between fields.
ADVANCED: Stuff
Week #14 Basic    Advanced Connecting to mySQL database
CREATEing a TABLE via php
Basic: Create a mySQL table using a php script with 4 fields: user, pass, ip, datetime. Don't forget the primary key.
ADVANCED: Stuff
Week #15 Basic    Advanced
Basic: Create a mySQL a table structure to enter musical artists into a table(s) for: artist_name, genre, votes. Allow a form to choose an existing artist and "vote for it" or add a new artist to the table. Display the results by most number of votes.
ADVANCED: Create a mySQL a table structure to enter musical artists into a table(s) for: artist_name, genre, votes. Allow a form to choose an existing artist and "vote for it" or add a new artist to the table. Display the results by most number of votes. Create a separate admin script to be able to modify the surfer entered information in the table from the browser and to be able to delete any record by artist_name.
my place