1 / 65

Introduction to PHP development

Introduction to PHP development. Daniel Reeves Web Applications Developer ResNET UNC Chapel Hill. My Assumptions. Introductory class Skill Level Programming concepts Topics Covered Future Presentations Mind Numbing Materials. Outline. Introduction PHP Basics Programming and PHP

enoch
Download Presentation

Introduction to PHP development

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. Introduction to PHP development Daniel Reeves Web Applications Developer ResNET UNC Chapel Hill

  2. My Assumptions • Introductory class • Skill Level • Programming concepts • Topics Covered • Future Presentations • Mind Numbing • Materials

  3. Outline • Introduction • PHP Basics • Programming and PHP • PHP Topics • Questions

  4. Introduction

  5. Questions for you

  6. Materials • Location • http://webmasters.unc.edu/presentations/ • ZIP file of all materials (ppt, handout, code) • Handout • Terms, tips, Google search strategies • PowerPoint • Video

  7. To PHP or not to PHP? The Pros • Great Documentation • Allows coding to modern standards • Open Source • Global and Diverse Developer Community • Don’t have to reinvent the wheel • Total Programmer Control • Easy to deploy

  8. To PHP or not to PHP? The Cons • Inconsistent function names • Only Basic scoping • Constantly Evolving • Total Programmer Control • Not most efficient language

  9. Google it !!!!! • When in doubt, search! • Search before you build • Properly formed Searches on Google • Google’s autocomplete is • For PHP searches, start by typing “php” • Suggestions will start to show

  10. Programming Philosophy • Architecture Analogy • Structure: Problem/Constraints/Solution • Materials • Tools (data structures) • 4 general uses: • automation, iteration/reuse, functionality, uniformity • Know Thy Enemy • Pure problem solving

  11. Programming Tips • Process Sequentially • Save often, keep multiple versions • Test incrementally • Reuse code, copy and paste • Start small and build • Solving problems is a mental process • Walk away and come back

  12. PHP Basics

  13. Client/Server • Client = User’s Browser • Server = Websites, Online files • PHP server only • Can only process when … • When a page is requested • After a user action has submitted the page

  14. What can one do with PHP? • Database Programming • File Read/Write • Form Processing • Form Validation • Ajax Interaction • PDF Creation • File Search and Archive • Interact with web APIs • Interact with MS Office • Image Processing and • Chart Creation • XML file Read/Write • Sending Email • Writing Code

  15. Topics for Today • Basic PHP/HTML interaction • Creating HTML with PHP • PHP form validation and processing • Server request interaction • Input validation • Basic debugging and error trapping • Methods for finding and correcting errors

  16. What you need • Server space where PHP is enabled • http://help.unc.edu/108 • Editing program to write the code in • Notepad++ good, free editor for coding • HTML Browser for viewing created pages • Firefox is my preference • Second monitor – recommended

  17. Programming PHP

  18. Writing Clean Code • Writing Clean Code • Using tabs for code, white space, line breaks • Ex: which looks cleaner, easier to read? <?php echo “test”; $foo++; ?> OR <?php echo “test”; $foo++; ?>

  19. PHP file, <?php tag, & ‘;’ • Files end in .php (ex: contact_form.php) • Server recognizes code within <?php tag • Requires ?> closing tag • When writing opening tag, write closing • Code not in PHP tags displays as HTML • End statements with ;

  20. Example – php_tags <?php ?> testing

  21. Errors and Error Messages • Empty Page • Difficult, frustrating when page is just blank • Turn on Errors • On Handout: ini_set('display_errors',1); • Shows warnings and errors • Dangerous for production code

  22. Example – php_errors <?php ini_set('display_errors',1); ?> testing

  23. PHP Programming – Hello World • How do I know if PHP is turned on? • php_info(); • “Hello World” • Echo statement • Single/Double quotes in PHP • echo “testing”; same as echo ‘testing’; • Use double quotes for variables

  24. Example – Hello World <?php ini_set('display_errors',1); php_info(); echo “Hello World”; ?> testing

  25. What are Variables ? • Basic building block of programming • Stores information/data • 3 basic parts: name, type and value • Variables store different types of data • Numbers, Strings, Boolean (True/False) • PHP Initialization • PHP Types

  26. PHP Variable Syntax • All variables start with “$” • Any combination of letters, numbers, “_” • Variable Type Examples • Ex: $customer = “Daniel Reeves”; • Ex: $cost = 1.25; • Ex: $is_administrator = true; • Will use $foo as default variable • $foo, $foo1, $foo2, etc.

  27. Manipulating Variables • Set Variables • $foo = 1; $foo = “test”; $foo1 = $foo • Display Variables • echo $foo; echo “$foo”; • Change and Combine text • $foo = “testing”.“ is fun”; • $foo1 = “Foo’s Value is: $foo”;

  28. And Arrays? • Collections of variable values • Access various elements from index • Index number or keyword • 1st element starts at 0 • Format: $array_name[‘index’] • Array elements same as variables • Mostly for form processing • $_GET, $_POST

  29. PHP Array Syntax • Create • $numbers = array(1,2,3,4,5); • $names = array(‘fn’=>”Bob”, ‘ln’=>”Smith”); • Numbers • 5 = $numbers[4]; • Strings • “Bob” = $names[‘fn’]; • “Bob” = $names[0];

  30. Conditionals – If/Then/Else • Need to test truth values • If/ Else If/Else • Establish consequences based on test • Allows for options • Example: Contact form • Category for student major • When submitted, choice would be tested • Assign a different action per major

  31. Conditionals – PHP Syntax • Syntax: if( testcondition ){ code } • Syntax for if, else: • if( testcondition ){ code } • else if( testcondition){ code } • else {code} • Test values with: <, <=, >, >=, !, ==, !=

  32. PHP Programming – Functions • Reuse • Separate code • Elements • Name, Parameters, Code, Return • Many system functions available • include(); php_info(); echo “”; • Ex: function strlen($foo); • Returns number of characters in string

  33. Review – PHP Basics • <?php and ?> tags, required “;” • Turn on errors and error messages • Variables • Strings, Numbers, Boolean (T/F) • Arrays • Conditionals • Functions

  34. PHP topics – basic PHP and HTML

  35. Adding Dynamic Content • Use variables • 2 Philosophies • 2 ways to display information • Echo • echo “First Name: $first_name”; • In HTML • First Name: <?= $first_name ?>

  36. Example – hello_world2 <?php $first_name = “Bob”; $last_name = “Smith”; echo “<html><body>”; ?> <p> My Name is: <?= $first_name ?> <?= $last_name?> </p> </body></html>

  37. Creating HTML with PHP • HTML Break and new line • To write new line to document, use \n • To add new line to rendered HTML, use <br> • Build then display • HTML put just below php on page • Nice segregation of server, client sides • Much easier to comment and debug • Create JS with PHP too

  38. Display HTML uniformity • Includes • Headers, footers, menus • Widths, heights • Easily keep for element sizes uniform • Naming conventions • Prefix for names or css classes • Other repeated code • Especially if it may ever change

  39. Review – PHP and HTML • Adding dynamic content • Use Variables • Output to screen: echo, <?= ?> • Breaks <br> and New Lines \n • Display Uniformity • Includes, reuse, naming, cohesive form items

  40. PHP topics – PHP form processing and validation

  41. PHP and form submission • Process of filling out a form • Where PHP gets access to form • GET and POST • PHP and request information • GET and POST arrays • $_GET[‘form element name’]; • $_POST[‘form element name’];

  42. Getting data from your request • Good first test: use GET • Can see parameters you are sending • Don’t need form • Print entire $_GET array: print_r($_GET); • Set items from GET to variables • Use same name as name you sent • Once variable, can process further

  43. Example - get <?php print_r($_GET); if($_GET){ $foo = $_GET['passed_value']; } else { $foo = "Empty"; } ?> Value is: <?= $foo ?>

  44. EXAMPLE – contact_form <html><body> <form action=“contact_form.php” method=“get”> Input: <input type=“text” name=“passed_value” value=“<?= $foo ?>”> <input type=“submit” value=“Submit”> </form> </body></html>

  45. Validation Options • Cleaning user input discussed later • Multiple validations of data • Client = JavaScript, Server = PHP • JS can be turned off from client, PHP cannot • Test both ends, safer, better use experience • Validation proportional to importance • Separate from security

  46. Using PHP for validation • Test multiple issues for same value • Test with conditionals • Test for empty values • If($foo == “”) { do something } • Flags = Boolean variables (T/F) • Use variable to verify validation • Set to true • If any validation fails, set it to false

  47. EXAMPLE – contact_form (above form) <?php if($_GET){ $foo = $_GET[‘passed_value’]; $form_passes = true; if($foo == “”){ $form_passes = false; } if(strlen($foo) < 5) {$form_passes = false; } if($form_passes){ finish processing } } ?>

  48. Redisplay and Error notification • Good idea to redisplay form • Can redisplay all submitted information • Easy to find & read error messages • DIV at top of page, red and bold text • Tailored message for each issue • Interact with JS if helpful • PHP mark the fields in error

  49. Process for Validation • User Submits page to server • Use PHP to get information • Test information • Not empty, length • Errors and Redisplay • Show messages • Mark errors

  50. Review – PHP and Forms • PHP gets form data at submission • $_GET, $_POST and variables • Validation • Conditionals • Functions • Error notification and Redisplay • Communicate clearly with user

More Related