Forums Gallery Movies File Hosting Classifieds Jokes Free Hosting Free Blogs

Go Back   BizHat Forums > Computer Forum > PHP Programming

Reply
 
LinkBack Thread Tools Display Modes
  #11 (permalink)  
Old 03-13-2009, 07:36 AM
Administrator
Site Admin
 
Join Date: Jun 2008
Posts: 342
Default A journey leads to php....

Section 2

The Not-So-Easy Stuff
Covering IF, ELSE, SWITCH, ARRAY, FUNCTIONS, SESSIONS, and COOKIES.


You Made It Past The Basics - Congratulations!

By now, you’ve got enough PHP knowledge under your belt to add basic PHP functionality in all of your websites. It’s pretty cool knowing things that a lot of others don’t know, and they’ll never be able to find out just by doing a “View Source” on your website (especially since you cant actually SEE PHP code by viewing the source in a browser!)
In this section we are going to cover some more advanced PHP code. Things that you might not use just yet but once you are comfortable with PHP and want to get more out of it, you’ll be ready, my young apprentice.

Quick tangent...before we get started here you are going to want to be able to place comments in your code. Why? It’s a heck of a lot easier to know why you wrote a specific line of code if you add comments...so you don’t come back in 3 months and ask yourself, “Was I drunk when I wrote this code??” Here are some examples of comment codes:

<?php
// This is a single comment line
# This is also a single comment line
/* This is a block comment, useful if you are working with a multi-line comment or are writing a story on your page that you don’t want people to see */
?>


You don’t have to use semicolons after each line, since the PHP server ignores comments because they aren’t actually commands. Now, on to more CODE! (ta-daaaa!)
__________________
Christian Prayer Forum
Reply With Quote
  #12 (permalink)  
Old 03-13-2009, 07:40 AM
Administrator
Site Admin
 
Join Date: Jun 2008
Posts: 342
Default A journey leads to php....

The IF statement

The IF statement in PHP is very similar to using IF in real life. Like IF you don’t set your alarm clock, then you’ll be late to work in the morning. IF (and it’s friend ELSE) are known as “conditionals”.

First off, let’s look at how PHP compares values for conditionals. You’ll see “operators” in any IF statement:

• == Equal to
• != Not equal to
• < Less than
• > Greater than
• <= Less than or equal to
• >= Greater than or equal to


So, a valid IF statement could be illustrated as follows:

<?php
if ($variable == "some value") {
echo "Correct";}
?>


Expanding on IF with ELSE

You’ll most likely want to use IF with ELSE. ELSE gives you the option of doing something ELSE with your PHP script if IF doesn’t calculate one way or another. For example, you can have your site display something IF a condition is met (like a password was correct...see below!) or something ELSE if not. (Like a redirect if the password is not!)

Code example...

<?php
$five = “5”;
if ($five == “5”) {
echo "You are correct";
} else {
echo "You are incorrect";
}
?>
__________________
Christian Prayer Forum
Reply With Quote
  #13 (permalink)  
Old 03-13-2009, 07:45 AM
Administrator
Site Admin
 
Join Date: Jun 2008
Posts: 342
Default

Real World Usage For If/Else

You could create a simple password protected area using If/Else. A PHP page with a conditional statement could be set up to process an HTML login form. A variable “$password” could be set, and the Header command could be used to redirect on success or failure.
Your HTML page would be a simple form...

<form action="login.php" method="post">
<INPUT type="password" name="password">
<input type="submit">

</form>


This HTML form will set the variable in the “action” page (named login.php in this example) with the $_POST command (more on this later) and do one of two things: If the password is correct, it will show the desired content. If it is NOT correct, it will redirect to another URL (or page). Since the action is in PHP, viewing the source in the web browser isn’t going to reveal the password.

...And your PHP “Action” page would be an If/Else combined with a Redirect...

<?php
if($_POST['password'] == 'some_password'){
echo “
<!---Put your protected HTML content here...-->
“ ;
} else {
header ("location: some_error_page.html");
}
?>


...And Voila! A simple way to password protect a page. I wouldn’t use this for sensitive stuff (like putting your social security number online) but it’s good for a simple, single layer of security.

IF, meet ELSE. ELSE, meet ELSEIF

The IF/ELSE statement is wonderful if you need to check for only one condition. But, what if you need to check for multiple conditions? Like, for instance, IF a truck is a Dodge, do this...ELSE a truck is a Chevy, do this...but what if you need to have options if a truck was a Ford?
In this example, we simply want to see if a truck is a Dodge or not. We can do this with IF / ELSE...

<php
$truck = "Chevy";
if($truck == "Dodge"){
echo "It’s Ram Tough!";
} else {
echo "We’ll Be There!";
}
?>


Now, if we wanted to see if the truck was a Ford, we’d add the ElseIf statement...

<php
$truck = "Chevy";
if($truck == "Dodge"){
echo "It’s Ram Tough!";
} elseif {$truck == “Ford”}
echo “Built Ford Tough!”;
} else {
echo "We’ll Be There!";
}
?>


...And so on. You could continue to use ElseIf to declare other Trucks. One thing to remember about ElseIf is that it can’t be used without IF. So what if you have a lot of ElseIf’s?? Let’s see what’s behind the curtain, Bob...
__________________
Christian Prayer Forum
Reply With Quote
  #14 (permalink)  
Old 03-13-2009, 07:49 AM
Administrator
Site Admin
 
Join Date: Jun 2008
Posts: 342
Default A journey leads to php....

Flip the SWITCH

Sometimes we have to evaluate more than just a few cases, making ElseIf a tad cumbersome (do YOU want to write 20 ElseIf’s? I don’t!) Enter the more streamlined and efficient SWITCH command.Let’s add some more trucks to our list, shall we?

<?php
$truck = "Chevy";
echo "Drive a $truck, <br/>";
switch ($truck){
case "Dodge":
echo "Ram Tough!";
break;
case "Ford":
echo "Built Ford Tough!";
break;
case "Toyota":
echo "Got The Guts?";
break;
case "Nissan":
echo "Shift_power";
break;
case "GMC":
echo "Professional Grade";
break;
} ?>


That looks a little cleaner, don’t you think? A tad less clumsy that an equal number of If/Else statements. Make sure when you use Switch to include the “break” statement - it not, the information will be processed until the script “breaks” or ends.
Also, notice that there is no default statement for when we match our condition! We need to add something to Switch - the default case.

<?php
$truck = "Chevy";
echo "Drive a $truck, <br/>";
switch ($truck){
case "Dodge":
echo "Ram Tough!";
break;
case "Ford":
echo "Built Ford Tough!";
break;
case "Toyota":
echo "Got The Guts?";
break;
case "Nissan":
echo "Shift_power";
break;
case "GMC":
echo "Professional Grade";
break;
default:
echo "We’ll Be There!";
break;
} ?>


This way, if there are no matching cases, our default is displayed.
__________________
Christian Prayer Forum
Reply With Quote
  #15 (permalink)  
Old 03-13-2009, 07:58 AM
Administrator
Site Admin
 
Join Date: Jun 2008
Posts: 342
Default A journey leads to php....

ARRAYS

An Array can be thought of as a single variable that stores more than one value. An array uses a key to determine what value to reference. So;

$array[key] = value;

Key values start at “0” normally, as PHP likes to number things starting at Zero instead of One. It’s a programming thing, I don’t know either.
Let’s use our truck examples from above, and assign then in an array.

<?php
$truck_array[0] = "Toyota";
$truck_array[1] = "Dodge";
$truck_array[2] = "Chevy";
$truck_array[3] = "Ford";
?>


And here’s how we could output information from the array:

<?php
echo "Two great truck makers are "
. $truck_array[0] . " & " . $truck_array[1];
echo "<br />Two more great truck makers are "
. $truck_array[2] . " & " . $truck_array[3];
?>

Here’s is the output result of the above array:

Two great truck makers are Toyota & Dodge
Two more great truck makers are Chevy & Ford

Associative Arrays

An Associative Array is an array in which the keys are associated with values.

<?php
$truck[“Toyota”] = Tundra;
$truck[“Nissan”] = Titan;
$truck[“Dodge”] = Ram;
?>


A Syntax example using the Associative Array above:

echo "Toyota makes the " . $truck[“Toyota”] . "<br />";
echo "Nissan makes the " . $truck[“Nissan”] . "<br />";
echo "Dodge makes the " . $truck[“Dodge”];

And, when viewed in a browser...

Toyota makes the Tundra
Nissan makes the Titan
Dodge makes the Ram

You may not see the usefulness of the Array and Associative Array right now, but I think (hope) it will come together a little more once we hit the next lesson - LOOPS.
Let’s move on!
__________________
Christian Prayer Forum
Reply With Quote
  #16 (permalink)  
Old 03-13-2009, 08:06 AM
Administrator
Site Admin
 
Join Date: Jun 2008
Posts: 342
Default A journey leads to php....

LOOPS

We all have mundane, repetitive tasks we have to do. You know, like putting stamps on all those holiday greeting cards we send out every year? Well, from a programming angle, PHP can help us ease the workload on repetitive tasks in websites with a LOOP.

The first one we’ll discuss is the WHILE LOOP. It sounds like a weird carnival ride (I got sick on the While Loop - it was great!) but it is one of the most useful loop functions in PHP.

Logically, it looks like this:

while ( this conditional statement is true){
//do this;
}


This isn’t real code - just an illustration of how it works. now, here’s what happens, step by step:

1. PHP checks the conditional statement. If it is true, move to step 2. If it is false, go to step 4.
2. PHP runs the code contained in the loop.
3. We go back to step 1 and start again, making a LOOP.
4. Once the conditional statement becomes false, the loop exits, and code placed after the loop runs.

Real World Usage for WHILE LOOPS

The Creamy Bagel Company wants to show a pricing matrix on their website for up to a 20 bagel pack. But, since bagels are a valuable commodity, the price fluctuates regularly. You have to change it. You love your job.

Using a While Loop and some HTML, this can happen with relative ease, and you’ll only have to change one value when the bagel price changes (then charge for 3 hours of work!).

Read on...

<?php
$bagel_price = 2.15; //This is the price of one bagel
$counter = 1;
echo "<table border=\"1\" align=\"center\">"; //note the escapes for quotes!
echo "<tr><th>Quantity</th>";
echo "<th>Price</th></tr>";
while ( $counter <= 20 ) { //we just set the counter limit at 20
echo "<tr><td>";
echo $counter;
echo "</td><td>";
echo $bagel_price * $counter; //here we multiply
echo "</td></tr>";
$counter = $counter + 1; //here we add 1 to the counter and start again
}
echo "</table>";
?>


Our actual Loop code is highlighted in blue above. You’ll see that we set the variables $bagel_price and $counter. The $counter variable allows us to create a math function to increment the unit price by 1 each time we loop (see the $counter = $counter + 1 part at the bottom of the loop?)
So, while $counter equals less-than-or-equal-to 20, this loop will function. Once we hit 21, that’s it - no more loop!

Note on PHP Math functions

+ addition (You can use ++ to increment a value by 1)
- subtraction
* multiplication
/ division

What it looks like in a browser...and you can see at-a-glance what 13 bagels will cost you!
__________________
Christian Prayer Forum
Reply With Quote
  #17 (permalink)  
Old 03-14-2009, 11:51 AM
Administrator
Site Admin
 
Join Date: Jun 2008
Posts: 342
Default A journey leads to php....

The FOR LOOP

The FOR LOOP is very similar to a WHILE LOOP. The difference being a little bit more code is contained in the loop. The FOR LOOP can be a little more compact than a WHILE LOOP. Here’s the logic:

for ( create a counter; conditional statement; increment the counter){
do this;
}

Let’s use our fluctuating bagel cost from above and write this out. Oops - bagels just went up 10 cents!

<?php
$bagel_price = 2.25;
echo "<table border=\"1\" align=\"center\">";
echo "<tr><th>Quantity</th>";
echo "<th>Price</th></tr>";
for ( $counter = 1; $counter <= 20; $counter += 1) {
echo "<tr><td>";
echo $counter;
echo "</td><td>";
echo $bagel_price * $counter;
echo "</td></tr>";
}
echo "</table>";
?>



Once again, the loop is highlighted in blue. You’ll notice that the counter is defined inside the loop as opposed to a variable outside.
And..to the right, you’ll see the output.
There’s one more Loop we’re going to cover, isn’t this exciting? Hello? Still there?
The FOR EACH Loop
What if you want to loop through an Associative Array? (See? Told you we’d get back to this!) You can use FOR EACH to do this task. Where the WHILE and FOR loops run until an error is encountered, the FOR EACH loop will run through every element in the array.
Let’s revisit the associative array we set up with the trucks...

<?php
$truck[“Toyota”] = Tundra;
$truck[“Nissan”] = Titan;
$truck[“Dodge”] = Ram;
?>

To loop through the Makers / Models, we’d use this code:

<?php
foreach( $truck as $make => $model){
echo "Make: $make, Model: $model <br />";
}
?>


The code is written in a strange way, it isn’t obvious how it works. Let’s look at it in a simpler way:

$something as $key => $value

So, in english... FOR each thing in the array, I want to refer to the key as $key and the value as $value. The operator ‘=>’ indicates the relationship between the key and the value...the key “points” to the value.
I think that’s about all we need to cover with Loops.
Next up...
__________________
Christian Prayer Forum
Reply With Quote
  #18 (permalink)  
Old 03-14-2009, 11:53 AM
Administrator
Site Admin
 
Join Date: Jun 2008
Posts: 342
Default A journey leads to php....

What’s your FUNCTION?

It feels like everything in PHP is a function, yes? I mean, it functions, right? Well, this definition of “functions” is a little bit different.

A FUNCTION in PHP is really quite easy to understand -
It is a chunk of code (like a “snippet”, if you are familiar with that term) that can be named and reused at any time. Remember earlier when we were talking about repetitive tasks? Functions can help us further reduce these time-killers by writing a block of code once, then defining it as a function. Kinda like a great big variable. Here’s how it works:

<?php
function MyFunctionName(){
//define your function here
}
?>


Functions are quite cool, because they can be considered building blocks of a web application. Let’s say you want every page of a website to say your company name.
Let’s create a function to do so. Let’s call it myCompanyName.

<?php
function myCompanyName(){
}
?>


Now, let’s add the code we want to execute between the curly brackets:

<?php
function myCompanyName(){
echo "Welcome to The Creamy Bagel Company!<br />";
}
?>


So now whenever we want our company name to appear, you can call the function within a PHP tag anywhere!

<?php
function myCompanyName(){
echo "Welcome to The Creamy Bagel Company!<br />";
}
echo “Isn’t it about time you experienced a better bagel?<br />”;
myCompanyName();
?>


Output looks like this...

A Function can contain just about any type of PHP code, so I hope you can see how useful this can be - it can definitely be a timesaver when working with a lot of code.
__________________
Christian Prayer Forum
Reply With Quote
  #19 (permalink)  
Old 03-14-2009, 11:55 AM
Administrator
Site Admin
 
Join Date: Jun 2008
Posts: 342
Default A journey leads to php....

PHP SESSIONS

When your websites start to become more advanced and you find that you have a need for specific user data to be available throughout different pages on your website (think shopping cart!), it’s time for Sessions!
Starting a session is a snap.

<?php
session start();
?>


The webserver will attach a really really long random “session ID” to indicate a unique session. It looks something like: a8486dd2a3eacc136bd44ca653d8c5a2
A session isn’t worth a hill of beans unless we can store data in it. Fortunately, PHP can do this for us with an associative
array, based on the $_SESSION variable. (Is some of this starting to come together?)
Let’s make a login form based on sessions!

<?php
session_start(); // Starts a PHP session
echo "<form method=POST action=index.php>
User Name: <input type=text name=\"username\">
Password: <input type=text name=\"password\">
<input type=submit>
</form>"; // This is the HTML form
$_SESSION['username']=$_POST["username"]; // Enters the username into the array
$_SESSION['password']=$_POST["password"]; // Enters the password into the array
?>


Your username and password are now stored in an array that will last until the session is “un-set”.
Removing a session is done when either: The viewer closes their browser, or PHP runs the command to un-set a session, aka “destroy”.
You can think of it like this - your session is an Etch-a-Sketchtm that has information drawn on it. It’s there until you shake it!

<?php
session_destroy();
?>


Yes, it’s a tad violent...but gets the job done. This will clear out any data associated with the current session.
So, what if I want to remove specific data from a session without deleting the whole thing?
This can be done with an IF statement combined with commands called “ISSET” and “UNSET”.

<?php
if(isset($_SESSION['items'])){
unset($_SESSION['items']);}
?>


So, logically...
If this specific key is set in this session, remove the key’s data.
__________________
Christian Prayer Forum
Reply With Quote
  #20 (permalink)  
Old 03-14-2009, 11:58 AM
Administrator
Site Admin
 
Join Date: Jun 2008
Posts: 342
Default A journey leads to php....

Cookies (mmmmmm!)

You are hopefully familiar with Cookies - you get them almost anytime you visit a website. Cookies allow you to store information about your visitor’s session on their computer.
One of the most common uses of cookies is to store usernames. That way when a viewer returns to your site, they don’t have to log in each time they visit.
You can create cookies in PHP with:

<?php
setcookie(name, value, expiration);
?>

There are 3 requirements when setting a cookie:

• Name: This is where you set the name of your cookie so you can retrieve it later.
• Value: The value you wish to store in your cookie. Some common values are usernames or date last visited.
• Expiration: When your cookie will be deleted from the user’s computer. If you do not set an expiration date, the cookie will be deleted when the viewer closes their browser!


Getting information from a cookie is just about as easy as setting one. Remember the “ISSET” stuff a few minutes ago? PHP gets cookie data in a similar way, by creating an associative array (Yes, again!) to store your retrieved cookie data...using the $_COOKIE variable. The array key is what you named the variable when it was set (so, obviously you can set any number of cookies!) So... (next page please!)

<?php
if(isset($_COOKIE['username'])){ // If there’s a cookie...
$username = $_COOKIE['username']; // set the variable...
echo "Welcome back, $username."; // and show the data in the cookie...
} else {
echo "No username was found. Sorry!";} // or show this if there wasn’t one.
?>


And, FYI...Cookies are stored as small text files on your computer (in case you did not know!)
And now...one of the most useful functions of PHP...
__________________
Christian Prayer Forum
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 02:15 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0