1 / 29

PHP on a F ast Track

PHP on a F ast Track. a quick introduction to PHP programming b y Jarek Francik. Apologies to ECommerce students:. this will be more or less what you know. Possible Options. PHP ASP.NET Java Ruby on Rails Python Perl So, which way to go?.

artan
Download Presentation

PHP on a F ast Track

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PHP on a Fast Track a quick introduction to PHP programming by JarekFrancik

  2. Apologies to ECommerce students: this will be more or less what you know...

  3. Possible Options • PHP • ASP.NET • Java • Ruby on Rails • Python • Perl So, which way to go?

  4. The goal of this lecture isto show that PHP isnot a good technology

  5. PHP • Scripting language for web development • Created by RasmusLerdorf 16 years ago • Currently phasing out • Easy to learn but time-consuming to use

  6. Let’s writea shopping cart application

  7. What do we need? • Operating System • Web Server • Database • Scripring Language Windows, Linux, MacOS... Appache, IIS, WEBrick... MySQL, Postgres, SQLite, Oracle... PHP, Perl, Python, Ruby, C#, Java...

  8. What do we need? • Operating System • Web Server • Database • Scripring Language Windows, Linux, MacOS... Appache, IIS, WEBrick... MySQL, Postgres, SQLite, Oracle... PHP, Perl, Python, Ruby, C#, Java...

  9. What do we need? • Operating System • Web Server • Database • Scripring Language Linux, Windows, MacOS... Appache, IIS, WEBrick... MySQL, Postgres, SQLite, Oracle... PHP, Perl, Python, Ruby, C#, Java...

  10. What do we need? • Operating System • Web Server • Database • Scripring Language MacOS, Windows, Linux... Appache, IIS, WEBrick... MySQL, Postgres, SQLite, Oracle... PHP, Perl, Python, Ruby, C#, Java...

  11. What do we need? • Operating System • Web Server • Database • Scripring Language X - Platform Appache MySQL PHP Perl

  12. What do we need? • Operating System • Web Server • Database • Scripring Language X A M P P

  13. First thing: The Database USE test; CREATE TABLE goods ( id int(6) unsigned NOT NULL auto_increment, item varchar(100) NOT NULL default '', price decimal(6,2) NOT NULL default '0.00', image varchar(100) NOT NULL default '', PRIMARY KEY (id) ); INSERT INTO goods VALUES (1, 'Soap', '4.99'); INSERT INTO goods VALUES (2, 'Strawberry Jam', '1.99'); INSERT INTO goods VALUES (3, 'Toothpaste', '2.49'); INSERT INTO goods VALUES (4, '8GB Memory Stick', '22.99');

  14. The First PHP File <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Your Cart</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <h1>Your Cart</h1> <?php ?> </body> </html> cart.php

  15. The First PHP File <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Your Cart</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <h1>Your Cart</h1> <?php echo "Hello, world!"; ?> </body> </html> cart.php

  16. Another File: Front Page <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Your Shop</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <h1>Your Shop</h1> <ul> <li><a href="cart.php?action=add&id=1">Add item #1 to the cart</a></li> <li><a href="cart.php?action=add&id=2">Add item #2 to the cart</a></li> <li><a href="cart.php?action=add&id=3">Add item #3 to the cart</a></li> <li><a href="cart.php?action=add&id=4">Add item #4 to the cart</a></li> </ul> <p><a href="cart.php?action=show">Show your cart</a></p> </body> </html> index.php

  17. What the application should do • http://localhost/cart.php?action=show • http://localhost/cart.php?action=add&id=2

  18. What the application should do • http://localhost/cart.php?action=show • http://localhost/cart.php?action=add&id=2 <?php $action = $_GET['action']; $id = $_GET['id']; echo "<p>DEBUG: Action to do is $action, and item id is $id.</p>"; ?> cart.php

  19. Make information persistent • HTTP as a stateless protocolprotocol with no memory of who you are • Cookies • Sessions • Session variables $_SESSION['cart'] Collection of session variables Name of the variable

  20. Make information persistent <?phpsession_start(); ?> must appear in the first line (before DOCTYPE) cart.php

  21. Make information persistent <?phpsession_start(); ?> ...... <?php $cart = $_SESSION['cart']; $action = $_GET['action']; $id = $_GET['id']; echo "<p>DEBUG: Action to do is $action, and item id is $id.</p>"; if ($action == 'add') { $cart = $cart . ",$id"; $_SESSION['cart'] = $cart; } echo "<p>DEBUG: Cart is: $cart</p>"; ?> must appear in the first line (before DOCTYPE) cart.php

  22. Display Your Cart <?php $cart = $_SESSION['cart']; $action = $_GET['action']; $id = $_GET['id']; if ($action == 'add') { $cart = $cart . ",$id"; $_SESSION['cart'] = $cart; } $myitems = explode(',', $cart); // explode using comma as a separator if (count($myitems) <= 1) echo "<p>Your cart is empty.<p>"; else foreach ($myitems as $i) if ($i != '') { echo "<p>Item id: $i</p>"; } ?> cart.php

  23. Connect to the Database <?php $hostname = 'localhost'; // localhost is the URL of the server $username = 'root'; // the username in this example is root $password = 'elvis'; // put here your MySQL root password // connect to the database server $con = mysql_connect($hostname, $username, $password) or die ('Could not connect: ' . mysql_error()); // display if connection failed mysql_select_db("test", $con); // choose the test database ... cart.php

  24. Connect to the Database <?php $hostname = 'localhost'; // localhost is the URL of the server $username = 'root'; // the username in this example is root $password = 'elvis'; // put here your MySQL root password // connect to the database server $con = mysql_connect($hostname, $username, $password) or die ('Could not connect: ' . mysql_error()); // display if connection failed mysql_select_db("test", $con); // choose the test database ... Provide the proper username & password (the latter maybe ‘’) cart.php

  25. Display Your Items .... foreach ($myitems as $i) if ($i != '') { $result = mysql_query("SELECT * FROM goods WHERE id = $i"); $row = mysql_fetch_array($result); $item = $row['item']; $price = $row['price']; echo "<p>$item: &pound;$price</p>"; } ?> cart.php

  26. Final Polishings cart.php: • Better HTML formatting • Total price of the cart calculated index.php: • Connected to the database

  27. <?phpsession_start(); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Your title here</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <!--<link rel="stylesheet" type="text/css" href="style.css" />--> </head> <body> <h1>Your Cart</h1> <?php $hostname = 'localhost'; // localhost is the URL of the server $username = 'root'; // the username in this example is root $password = 'elvis'; // put here your MySQL root password // connect to the database server $con = mysql_connect($hostname, $username, $password) or die ('Could not connect: ' . mysql_error()); // display if failed mysql_select_db("test", $con); // choose the test database $cart = $_SESSION['cart']; $action = $_GET['action']; $id = $_GET['id']; if ($action == 'add') { $cart = $cart . ",$id"; $_SESSION['cart'] = $cart; } $myitems = explode(',', $cart); // explode using comma as a separator if (count($myitems) <= 1) echo "<p>Your cart is empty.<p>"; else { echo "<table>"; $total = 0; foreach ($myitems as $i) if ($i != '') { $result = mysql_query("SELECT * FROM goods WHERE id = $i"); $row = mysql_fetch_array($result); $item = $row['item']; $price = $row['price']; $total += $price; echo "<tr><td>$item</td><td>&pound;$price</td></tr>"; } echo "<tr><td><strong>Total</strong></td><td><strong>&pound;$total</strong></td>"; echo "</tr></table>"; } ?> <p>[<a href="index.php">Home Page</a>]</p> </body> </html> cart.php

  28. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <?php $hostname = 'localhost'; // localhost is the URL of the server $username = 'root'; // the username in this example is root $password = 'elvis'; // put here your MySQL root password // connect to the database server $con = mysql_connect($hostname, $username, $password) or die ('Could not connect: ' . mysql_error()); // display if failed mysql_select_db("test", $con); // choose the test database ?> <html> <head> <title>Your Shop</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <!--<link rel="stylesheet" type="text/css" href="style.css" />--> </head> <body> <h1>Your Shop</h1> <table> <?php $result = mysql_query("SELECT * FROM goods"); while ($row = mysql_fetch_array($result)) { $id = $row['id']; $item = $row['item']; $price = $row['price']; echo "<tr>"; echo "<td>$item</td>"; echo "<td>&pound;$price</td>"; echo "<td><a href=\"cart.php?action=add&id=$id\">add to cart</a></td>"; echo "</tr>"; }; mysql_free_result($result); ?> </table> <p><a href="cart.php?action=show">Show your cart</a></p> </body> </html> index.php

  29. Second Part: Shop createdwith Ruby on Rails watch at:http://vimeo.com/30927971

More Related