basic php. php official site: php manual: useful package (apache, mysql,php):
TRANSCRIPT
Basic php
Php
• Official site: www.php.net
• PhP manual: http://www.php.net/manual/en/index.php
• Useful package (Apache, MySql,PhP): http://www.easyphp.org/
Where ?
• Ssh into cobweb.seas.gwu.edu and put your php files. Make sure they are readable by everyone.
• Access them via http://www.student.seas.gwu.edu/~yourusername/filename.php
What is PhP
• “PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML” (www.php.net)
• Server scripting language (Javascript is a client side scripting language)
• If you know C, you will learn PhP in no time.
Hello World!• Index.php:
<html> <head> <title>PHP Test</title> </head> <body> <?php echo '<p>Hello World</p>'; ?></body></html>
• Output<html>: <head> <title>PHP Test</title> </head> <body> <p>Hello World</p> </body>
</html>
Basics
• Use echo for printing• Variables start with $ sign• Do not have to explicitly assign them a
type (like int, array, etc.)• If $x=3 and $a=’x’, echo $$a will display 3,
because $$a=$($a)=$x=3;• . (dot) concatenates 2 strings. Ex
$a=”Hello”;$b=”World”; echo $a.” ”.$b; displays ”Hello World”
Accesing databases from PhP<html> <head> <title>PHP Test</title> </head> <body><?php$link=mysql_connect("localhost",“username",“password") or die("Error connecting to the database server:".mysql_error()."<br>\n");mysql_select_db(“username") or
die("Error selecting the database:".mysql_error()."<br>\n");?>
<?php$sql = "SELECT fname, sid FROM students;";
$result=mysql_query($sql);while(list($name,$id) = mysql_fetch_array($result)){
echo "<p>".$name." ".$id;}?></body></html>
Arrays
• A mapping between keys and values. Example
<?php$arr = array("foo" => "bar", 12 => true);echo $arr["foo"]; // barecho $arr[12]; // 1
foreach ($arr as $key => $value) {
echo “key=”.$key;echo “ value=”,$value.”<BR>”;
}
?>
Get and Post
• $_GET[’variablename’] – the variable is appended to the http address, and is transmited in the same stream. Ex: http://www.somesite.com/index.php?a=1&b=’x’. Easy to bookmark
• $_POST[’variablename’] – a new stream is created, and all the post variables are transmited in this stresm. The http address is clean (no bookmarks)
Get variables from formsgetName.html<HTML><BODY><form action="action.php"
method="post"> <p>Your name: <input type="text"
name="name" /></p> <p>Your age: <input type="text"
name="age" /></p> <p><input type="submit"
value="Submit"/></p> </form> </BODY></HTML>
Action.php<HTML><BODY><?php echo "Your name is ".$_POST["name"]." and you are ".$_POST["age"]." years old";?></BODY></HTML>
Exercise: try it with “get” now.
Some usefull global variables
• $_SERVER[’PHP_SELF’]- The filename of the currently executing script, relative to the document root. For instance, $_SERVER['PHP_SELF'] in a script at the address http://example.com/test.php/foo.bar would be /test.php/foo.bar.
• $_SERVER['SERVER_NAME']- The name of the server host under which the current script is executing. If the script is running on a virtual host, this will be the value defined for that virtual host.
• $_SESSION -An associative array containing session variables available to the current script.
• __LINE__The current line number of the file.
• __FILE__The full path and filename of the file. If used inside an include, the name of the included file is returned.
Session
• HTTP is stateless
• Simulates a statefull connection. Maintains records on the server side until the browser is closed.
• session_start();
• $_SESSION[‘foo’]=‘bar’;
• $_SESSION[‘a’][‘b’]=‘c’;
• Allows to build a ”shoping cart”;
Includes• header.php• <html>• <head>• <title>PHP Test</title>• </head>• <body>• <TABLE width="800" cellpadding="4" cellspacing="0" align="center" border="0">• <TR>• <TD width='100%'>
• footer.php• </TD>• </TR>• </TABLE>• </body>• </html>
• index.php• <?php• include ”header.php”;• echo ”hello world”;• include ”footer.php”• ?>