PHP_Basics
PHP_Basics
What is PHP?
PHP == ‘Hypertext Preprocessor’
Open-source, server-side scripting language
Used to generate dynamic web-pages
PHP scripts reside between reserved PHP tags
<?PHP PHP code goes here ?>
This allows the programmer to embed PHP scripts
<?php
…
?>
Comments in PHP
Standard C, C++, and shell comment
symbols
# Shell-style comments
/* C-style comments
These can span multiple lines */
Echo
The PHP command ‘echo’ is used to output
the parameters passed to it
The typical usage for this is to send data to the
client’s web-browser
Syntax
void echo (string arg1 [, string argn...])
In practice, arguments are not passed in
parentheses since echo is a language construct
rather than an actual function
Echo example
<?php
$foo = 25; // Numerical variable
$bar = “Hello”; // String variable
Notice how echo ‘5x5=$foo’ outputs $foo rather than replacing it with 25
Strings in single quotes (‘ ’) are not interpreted or evaluated by PHP
This is true for both variables and character escape-sequences (such as “\
n” or “\\”)
Variables in PHP
PHP variables must begin with a “$” sign
Case-sensitive ($Foo != $foo != $fOo)
Global and locally-scoped variables
Global variables can be used anywhere
Local variables restricted to a function or class
Certain variable names reserved by PHP
Form variables ($_POST, $_GET)
Server variables ($_SERVER)
Etc.
Variable usage
<?php
$foo = 25; // Numerical variable
$bar = “Hello”; // String variable
+ Addition $x + $y
- Subtraction $x - $y
* Multiplication $x * $y
/ Division $x / $y
% Modulus $x % $y
PHP Assignment
Operators
The assignment operators are used to assign
values to variables
= Assign $x = $y
+= Add and assign $x += $y
-= Subtract and assign $x -= $y
*= Multiply and assign $x *=
/= Divide and assign quotient
$x /= $y
%= Divide and assign modulus
$x %= $y
Concatenation
Hello PHP
Escaping the Character
“Computer Science”
PHP Control Structures
Control Structures: Are the structures within a language
that allow us to control the flow of execution through a
program or script.
Grouped into conditional (branching) structures (e.g.
if/else) and repetition structures (e.g. while loops).
Example if/else if/else statement:
if ($foo == 0) {
echo ‘The variable foo is equal to 0’;
}
else if (($foo > 0) && ($foo <= 5)) {
echo ‘The variable foo is between 1 and 5’;
}
else {
echo ‘The variable foo is equal to ‘.$foo;
}
If ... Else...
If (condition) <?php
{ If($user==“John”)
{
Statements;} Print “Hello John.”;
} Else
{
Else }
Print “You are not John.”;
{ ?>
Statement;
} No THEN in PHP
If -elseif
if (condition)
{
code to be executed if this condition is true;
}
elseif (condition)
{
code to be executed if first condition is false and this
condition is true;
}
Else
{
code to be executed if all conditions are false;
}
Switch Case
switch (n) {
case label1:
code to be executed if n=label1;
break;
...
default:
code to be executed if n is different from all
labels;
}
While Loops
<?php
While (condition) $count=0;
While($count<3)
{ {
Print “hello PHP. ”;
Statements; $count += 1;
// $count = $count + 1;
} // or
// $count++;
?>
Foreach(arr_nm as key)
{
Statements;
}
Functions
Functions MUST be defined before then can be
called
Function headers are of the format
function functionName($arg_1, $arg_2, …, $arg_n)
Note that no return type is specified
Unlike variables, function names are not case
sensitive
<html> <head> <title>Writing PHP
Function</title> </head> <body>
<?php
/* Defining a PHP Function */
function writeMessage()
{ echo "You are really a nice person, Have a
nice time!"; }
/* Calling a PHP Function */
writeMessage(); ?>
</body>
</html>
PHP Functions with
Parameters
<html> <head> <title>Writing PHP Function with
Parameters</title> </head>
<body>
<?php function addFunction($num1, $num2)
{ $sum = $num1 + $num2;
echo "Sum of the two numbers is : $sum";
}
addFunction(10, 20); ?>
</body> </html>
PHP Functions returning
value
A function can return a value using
the return statement in conjunction with a
value or object. return stops the execution of
the function and sends the value back to the
calling code.
You can return more than one value from a
function using return array(1,2,3,4).
Passing Arguments by
Reference
<html> <head> <title>
Include (“footer.php”);
The file footer.php might look like:
$datedisplay=date(“l, F m, Y”);
Wednesday, April 1, 2009 Print $datedisplay;
# If the date is April 1st, 2009
# Wednesday, April 1, 2009
Month, Day & Date Format
Symbols
M Jan
F January
m 01
n 1
Day of Month d 01
Day of Month J 1
Day of Week l Monday
Day of Week D Mon
PHP - Forms
•Access to the HTTP POST and GET data is simple in
PHP
•The global variables $_POST[] and $_GET[] contain the
request data
<?php
if ($_POST["submit"])
echo "<h2>You clicked Submit!</h2>";
else if ($_POST["cancel"])
echo "<h2>You clicked Cancel!</h2>";
?>
<form action="form.php" method="post">
<input type="submit" name="submit" value="Submit">
<input type="submit" name="cancel" value="Cancel">
</form>
http://www.cs.kent.edu/~nruan/form.php
WHY PHP – Sessions ?
Whenever you want to create a website that allows you to store
and display information about a user, determine which user groups
a person belongs to, utilize permissions on your website or you just
want to do something cool on your site, PHP's Sessions are vital to
each of these features.
Cookies are about 30% unreliable right now and it's getting worse
every day. More and more web browsers are starting to come with
security and privacy settings and people browsing the net these
days are starting to frown upon Cookies because they store
information on their local computer that they do not want stored
there.
PHP has a great set of functions that can achieve the same results
of Cookies and more without storing information on the user's
computer. PHP Sessions store the information on the web server in
a location that you chose in special files. These files are connected
to the user's web browser via the server and a special ID called a
"Session ID". This is nearly 99% flawless in operation and it is
PHP - Sessions
•Sessions store their identifier in a cookie in the client’s browser
•Every page that uses session data must be proceeded by the
session_start() function
•Session variables are then set and retrieved by accessing the
global $_SESSION[]
•Save it as session.php
<?php
session_start();
if (!$_SESSION["count"])
$_SESSION["count"] = 0;
if ($_GET["count"] == "yes")
$_SESSION["count"] = $_SESSION["count"] + 1;
echo "<h1>".$_SESSION["count"]."</h1>";
?>
<a href="session.php?count=yes">Click here to count</a>
http://www.cs.kent.edu/~nruan/session.php
Avoid Error PHP - Sessions
PHP Example: <?php
echo "Look at this nasty error below:<br />";
session_start();
?>
Error!
second.php
showtable.php
http://www.cs.kent.edu/~nruan/second.php
second.php
<html><head><title>MySQL Table Viewer</title></head><body>
<?php
// change the value of $dbuser and $dbpass to your username and password
$dbhost = 'hercules.cs.kent.edu:3306';
$dbuser = 'nruan';
$dbpass = ‘*****************’;
$dbname = $dbuser;
$table = 'account';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
if (!mysql_select_db($dbname))
die("Can't select database");
second.php (cont.)
$result = mysql_query("SHOW TABLES");
if (!$result) {
die("Query to show fields from table failed");
}
$num_row = mysql_num_rows($result);
echo "<h1>Choose one table:<h1>";
echo "<form action=\"showtable.php\" method=\"POST\">";
echo "<select name=\"table\" size=\"1\" Font size=\"+2\">";
for($i=0; $i<$num_row; $i++) {
$tablename=mysql_fetch_row($result);
echo "<option value=\"{$tablename[0]}\" >{$tablename[0]}</option>";
}
echo "</select>";
echo "<div><input type=\"submit\" value=\"submit\"></div>";
echo "</form>";
mysql_free_result($result);
mysql_close($conn);
?>
</body></html>
showtable.php
<html><head>
<title>MySQL Table Viewer</title>
</head>
<body>
<?php
$dbhost = 'hercules.cs.kent.edu:3306';
$dbuser = 'nruan';
$dbpass = ‘**********’;
$dbname = 'nruan';
$table = $_POST[“table”];
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$conn)
die('Could not connect: ' . mysql_error());
if (!mysql_select_db($dbname))
die("Can't select database");
$result = mysql_query("SELECT * FROM {$table}");
if (!$result) die("Query to show fields from table failed!" . mysql_error());
showtable.php (cont.)
$fields_num = mysql_num_fields($result);
echo "<h1>Table: {$table}</h1>";
echo "<table border='1'><tr>";
// printing table headers
for($i=0; $i<$fields_num; $i++) {
$field = mysql_fetch_field($result);
echo "<td><b>{$field->name}</b></td>";
}
echo "</tr>\n";
while($row = mysql_fetch_row($result)) {
echo "<tr>";
// $row is array... foreach( .. ) puts every element
// of $row to $cell variable
foreach($row as $cell)
echo "<td>$cell</td>";
echo "</tr>\n";
}
mysql_free_result($result);
mysql_close($conn);
?>
</body></html>
Functions Covered
mysql_connect() mysql_select_db()
include()
mysql_query() mysql_num_rows()
mysql_fetch_array() mysql_close()
History of PHP
PHP began in 1995 when Rasmus Lerdorf developed a
Perl/CGI script toolset he called the Personal Home
Page or PHP
PHP 2 released 1997 (PHP now stands for Hypertex
Processor). Lerdorf developed it further, using C instead
PHP3 released in 1998 (50,000 users)
PHP4 released in 2000 (3.6 million domains).
Considered debut of functional language and including
Perl parsing, with other major features
PHP5.0.0 released July 13, 2004 (113 libraries>1,000
functions with extensive object-oriented programming)
PHP5.0.5 released Sept. 6, 2005 for maintenance and
bug fixes
Recommended Texts for
Learning PHP
Larry Ullman’s books from the Visual Quickpro
series
PHP & MySQL for Dummies
Beginning PHP 5 and MySQL: From Novice to
Professional by W. Jason Gilmore
(This is more advanced and dense than the others,
but great to read once you’ve finished the easier
books. One of the best definition/description of
object oriented programming I’ve read)
PHP References
http://www.php.net <-- php home page
http://www.phpbuilder.com/
http://www.devshed.com/
http://www.phpmyadmin.net/
http://www.hotscripts.com/PHP/
http://geocities.com/stuprojects/ChatroomDescription.htm
http://www.academic.marist.edu/~kbhkj/chatroom/
chatroom.htm
http://www.aus-etrade.com/Scripts/php.php
http://www.codeproject.com/asp/CDIChatSubmit.asp
http://www.php.net/downloads <-- php download page
http://www.php.net/manual/en/install.windows.php <-- php
installation manual
http://php.resourceindex.com/ <-- PHP resources like
sample programs, text book references, etc.
http://www.daniweb.com/techtalkforums/forum17.html
php forums
Create your own homepage
Login loki.cs.kent.edu
Create directory “public_html” in your home
directory
Create two php files (second.php and
showtable.php) we have discussed
Visit your homepage:
http://www.cs.kent.edu/~[username]/second.php
http://www.cs.kent.edu/~nruan/second.php