Welcome to GBC - Grace Alone
In January 15, 2023, we are reminded of Revelation 5:9 where we are redeemed by His blood from every tribe and nation. Through His grace alone, we find strength, hope, and peace to climb mountains, shine hope, and share His love with every soul. The sermon on the mountain in Matthew 5-7 teaches us to seek and follow Jesus, the cornerstone of our faith. Let us go forth in His grace alone, turning sorrows into praise and spreading His peace and love to all.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
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 resnet.unc.edu 2
Outline Introduction PHP Basics Programming and PHP PHP Topics Questions resnet.unc.edu 3
Materials Location http://webmasters.unc.edu/presentations/ ZIP file of all materials (ppt, handout, code) Handout Terms, tips, Google search strategies PowerPoint Video resnet.unc.edu 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 resnet.unc.edu 8
To PHP or not to PHP? The Cons Inconsistent function names Only Basic scoping Constantly Evolving Total Programmer Control Not most efficient language resnet.unc.edu 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 resnet.unc.edu 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 resnet.unc.edu 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 resnet.unc.edu 12
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 resnet.unc.edu 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 resnet.unc.edu 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 resnet.unc.edu 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 resnet.unc.edu 17
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++; ?> resnet.unc.edu 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 ; resnet.unc.edu 20
Example php_tags <?php ?> testing resnet.unc.edu 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 resnet.unc.edu 22
Example php_errors <?php ini_set('display_errors',1); ?> testing resnet.unc.edu 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 resnet.unc.edu 24
Example Hello World <?php ini_set('display_errors',1); php_info(); echo Hello World ; ?> testing resnet.unc.edu 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 resnet.unc.edu 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. resnet.unc.edu 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 ; resnet.unc.edu 28
And Arrays? Collections of variable values Access various elements from index Index number or keyword 1stelement starts at 0 Format: $array_name[ index ] Array elements same as variables Mostly for form processing $_GET, $_POST resnet.unc.edu 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]; resnet.unc.edu 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 resnet.unc.edu 31
Conditionals PHP Syntax Syntax: if( testcondition ){ code } Syntax for if, else: if( testcondition ){ code } else if( testcondition ){ code } else {code} Test values with: <, <=, >, >=, !, ==, != resnet.unc.edu 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 resnet.unc.edu 33
Review PHP Basics <?php and ?> tags, required ; Turn on errors and error messages Variables Strings, Numbers, Boolean (T/F) Arrays Conditionals Functions resnet.unc.edu 34
Adding Dynamic Content Use variables 2 Philosophies 2 ways to display information Echo echo First Name: $first_name ; In HTML First Name: <?= $first_name ?> resnet.unc.edu 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> resnet.unc.edu 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 resnet.unc.edu 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 resnet.unc.edu 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 resnet.unc.edu 40
PHP topics PHP form processing and validation
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 ]; resnet.unc.edu 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 resnet.unc.edu 43
Example - get <?php print_r($_GET); if($_GET){ $foo = $_GET['passed_value']; } else { $foo = "Empty"; } ?> Value is: <?= $foo ?> resnet.unc.edu 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> resnet.unc.edu 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 resnet.unc.edu 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 resnet.unc.edu 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 } } ?> resnet.unc.edu 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 resnet.unc.edu 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 resnet.unc.edu 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 resnet.unc.edu 51