KEMBAR78
Forms and Databases in PHP | PDF
webdev@rgu
forms and databases in php
PROGRAM INPUTPHP CAN RECEIVE INPUT FROM A NUMBER OF
DIFFERENT SOURCES, EACH HANDLED DIFFERENTLY
• FROM HTTP REQUESTS
• KEY/VALUE PAIRS EMBEDDED IN GET
REQUESTS
• DATA INCLUDED IN THE BODY OF A POST
REQUEST
• FROM RESOURCES
• CONNECTING TO A DATABASE TO RETRIEVE
INFORMATION
using
GET
USING ‘GET’
THE GET KEYWORD ALLOWS US TO RETRIEVE DATA
THAT IS STORED IN THE ADDRESS OF THE WEB PAGE
WWW.MYSITE.COM/RANDOMPAGE.PHP
WWW.MYSITE.COM/RANDOMPAGE.PHP?USERNAME=MIKE
sending variables
RANDOMPAGE.PHP?USERNAME=MIKE&GENDER=MALE
TO USE MORE THAN 1 KEY/VALUE PAIR SEPARATE
THEM WITH AN AMPERSAND
RANDOMPAGE.PHP?USERNAME=MIKE&GENDER=MALE
START WITH A QUESTION MARK
TO USE MORE THAN 1 KEY/VALUE PAIR SEPARATE
THEM WITH AN AMPERSAND
sending variables
RANDOMPAGE.PHP?USERNAME=MIKE&GENDER=MALE
START WITH A QUESTION MARK
VARIABLENAME=VALUE
TO USE MORE THAN 1 KEY/VALUE PAIR SEPARATE
THEM WITH AN AMPERSAND
sending variables
<A HREF=“MYPAGE.PHP?USERNAME=MIKE>CLICK ME</A>
WE CAN USE THIS TO PASS INFORMATION
BETWEEN PAGES
$LOCATION = “MYPAGE.PHP?USERNAME=MIKE”;
HEADER($LOCATION);
IN HTML
IN PHP
THERE WILL BE OTHER WAYS THAT YOU’LL FIND
TO USE THIS AS WELL
sending variables
TAKE THE VARIABLE FROM GET AND ASSIGN IT TO
A STANDARD VARIABLE. YOU CAN THEN USE IT IN
YOUR CODE
using variables
JUST A REMINDER, YOU CAN MAKE YOUR ECHO
STATEMENTS MORE COMPLICATED
CURLY BRACKETS MAKE YOUR LIFE A LOT EASIER,
IT MAY BE WORTH GIVING THEM A GO!
combining in statements
displaying information
using
post
using information from html forms
A SECOND INPUT FOR PHP SCRIPTS IS BY USING
FORMS
• HTML FORMS CAPTURE USER INPUT
• FORM ELEMENTS HAVE NAMES AND WHEN THE
FORM IS SUBMITTED A VALUE IS SET TO THE
CURRENT NAME
• FORM INFORMATION IS ADDED TO
• THE BODY OF THE HTTP REQUEST IF THE FORM
METHOD IS POST
• THE PARAMETERS OF THE HTTP REQUEST IF THE
FORM METHOD IS GET
simpleform.html
HTML FILE CONTAINING A FORM
submitform.php
PHP FILE READING THE FORM INFORMATION
output
using get in forms
WE CAN ALSO USE THE GET METHOD IN THIS
EXAMPLE BUT WE WOULD NEED TO ALTER
SIMPLEFORM.HTML AND SUBMITFORM.PHP IN
ORDER TO DO THIS
• THERE ARE LIMITATIONS TO HOW MUCH
INFORMATION CAN BE ENCODED IN A URL STRING
• THIS IS BROWSER SPECIFIC
• SECURITY CONCERNS ALSO EXIST BECAUSE THE
HTTP HEADER IS EXPOSE AND CAN BE INSPECTED
BY THIRD PARTIES
• USING POST MAKES THIS EASIER TO PROTECT
linking your form to a
database
using a database
ONE OF THE MOST COMMON TASKS THAT YOU
WILL WANT TO DO WITH A WEB FORM IS STORE
THE INFORMATION IN A DATABASE
• COVERED THIS LAST WEEK BUT IT IS WORTH
GOING OVER AGAIN
simpleform.html
WE WILL USE THE SAME FORM AS BEFORE
submitform.php
submitform.php
• CONNECT TO THE DATABASE
submitform.php
• CONNECT TO THE DATABASE
• OBTAIN THE $POST VARIABLES
submitform.php
• CONNECT TO THE DATABASE
• OBTAIN THE $POST VARIABLES
• FORM THE SQL QUERY
submitform.php
• CONNECT TO THE DATABASE
• OBTAIN THE $POST VARIABLES
• FORM THE SQL QUERY
• RUN THE SQL QUERY
submitform.php
• CONNECT TO THE DATABASE
• OBTAIN THE $POST VARIABLES
• FORM THE SQL QUERY
• RUN THE SQL QUERY
• REDIRECT TO ANOTHER PAGE
viewusers.php
CONNECT TO THE DATABASE
CONNECT TO THE DATABASE
PUT IN THE HTML HEADERS
viewusers.php
CONNECT TO THE DATABASE
PUT IN THE HTML HEADERS
START AN UNORDERED LIST
viewusers.php
CONNECT TO THE DATABASE
PUT IN THE HTML HEADERS
START AN UNORDERED LIST
OPEN UP THE PHP TAGS
viewusers.php
CONNECT TO THE DATABASE
PUT IN THE HTML HEADERS
START AN UNORDERED LIST
OPEN UP THE PHP TAGS
WRITE THE SQL QUERY
viewusers.php
CONNECT TO THE DATABASE
PUT IN THE HTML HEADERS
START AN UNORDERED LIST
OPEN UP THE PHP TAGS
WRITE THE SQL QUERY
RUN THE QUERY
viewusers.php
CONNECT TO THE DATABASE
PUT IN THE HTML HEADERS
START AN UNORDERED LIST
OPEN UP THE PHP TAGS
WRITE THE SQL QUERY
RUN THE QUERY
USE THE WHILE LOOP TO OF THROUGH IT
viewusers.php
CONNECT TO THE DATABASE
PUT IN THE HTML HEADERS
START AN UNORDERED LIST
OPEN UP THE PHP TAGS
WRITE THE SQL QUERY
RUN THE QUERY
USE THE WHILE LOOP TO OF THROUGH IT
• FOR ROW THAT EXISTS
viewusers.php
CONNECT TO THE DATABASE
PUT IN THE HTML HEADERS
START AN UNORDERED LIST
OPEN UP THE PHP TAGS
WRITE THE SQL QUERY
RUN THE QUERY
USE THE WHILE LOOP TO OF THROUGH IT
• FOR ROW THAT EXISTS
• TURN THE $ROW VARIABLES INTO NORMAL VARIABLES
viewusers.php
CONNECT TO THE DATABASE
PUT IN THE HTML HEADERS
START AN UNORDERED LIST
OPEN UP THE PHP TAGS
WRITE THE SQL QUERY
RUN THE QUERY
USE THE WHILE LOOP TO OF THROUGH IT
• FOR ROW THAT EXISTS
• TURN THE $ROW VARIABLES INTO NORMAL VARIABLES
• ECHO THEM OUT
viewusers.php
output

Forms and Databases in PHP

  • 1.
  • 2.
    PROGRAM INPUTPHP CANRECEIVE INPUT FROM A NUMBER OF DIFFERENT SOURCES, EACH HANDLED DIFFERENTLY • FROM HTTP REQUESTS • KEY/VALUE PAIRS EMBEDDED IN GET REQUESTS • DATA INCLUDED IN THE BODY OF A POST REQUEST • FROM RESOURCES • CONNECTING TO A DATABASE TO RETRIEVE INFORMATION
  • 3.
  • 4.
    USING ‘GET’ THE GETKEYWORD ALLOWS US TO RETRIEVE DATA THAT IS STORED IN THE ADDRESS OF THE WEB PAGE WWW.MYSITE.COM/RANDOMPAGE.PHP WWW.MYSITE.COM/RANDOMPAGE.PHP?USERNAME=MIKE
  • 5.
    sending variables RANDOMPAGE.PHP?USERNAME=MIKE&GENDER=MALE TO USEMORE THAN 1 KEY/VALUE PAIR SEPARATE THEM WITH AN AMPERSAND
  • 6.
    RANDOMPAGE.PHP?USERNAME=MIKE&GENDER=MALE START WITH AQUESTION MARK TO USE MORE THAN 1 KEY/VALUE PAIR SEPARATE THEM WITH AN AMPERSAND sending variables
  • 7.
    RANDOMPAGE.PHP?USERNAME=MIKE&GENDER=MALE START WITH AQUESTION MARK VARIABLENAME=VALUE TO USE MORE THAN 1 KEY/VALUE PAIR SEPARATE THEM WITH AN AMPERSAND sending variables
  • 8.
    <A HREF=“MYPAGE.PHP?USERNAME=MIKE>CLICK ME</A> WECAN USE THIS TO PASS INFORMATION BETWEEN PAGES $LOCATION = “MYPAGE.PHP?USERNAME=MIKE”; HEADER($LOCATION); IN HTML IN PHP THERE WILL BE OTHER WAYS THAT YOU’LL FIND TO USE THIS AS WELL sending variables
  • 9.
    TAKE THE VARIABLEFROM GET AND ASSIGN IT TO A STANDARD VARIABLE. YOU CAN THEN USE IT IN YOUR CODE using variables
  • 10.
    JUST A REMINDER,YOU CAN MAKE YOUR ECHO STATEMENTS MORE COMPLICATED CURLY BRACKETS MAKE YOUR LIFE A LOT EASIER, IT MAY BE WORTH GIVING THEM A GO! combining in statements
  • 11.
  • 12.
  • 13.
    using information fromhtml forms A SECOND INPUT FOR PHP SCRIPTS IS BY USING FORMS • HTML FORMS CAPTURE USER INPUT • FORM ELEMENTS HAVE NAMES AND WHEN THE FORM IS SUBMITTED A VALUE IS SET TO THE CURRENT NAME • FORM INFORMATION IS ADDED TO • THE BODY OF THE HTTP REQUEST IF THE FORM METHOD IS POST • THE PARAMETERS OF THE HTTP REQUEST IF THE FORM METHOD IS GET
  • 14.
  • 15.
    submitform.php PHP FILE READINGTHE FORM INFORMATION
  • 16.
  • 17.
    using get informs WE CAN ALSO USE THE GET METHOD IN THIS EXAMPLE BUT WE WOULD NEED TO ALTER SIMPLEFORM.HTML AND SUBMITFORM.PHP IN ORDER TO DO THIS • THERE ARE LIMITATIONS TO HOW MUCH INFORMATION CAN BE ENCODED IN A URL STRING • THIS IS BROWSER SPECIFIC • SECURITY CONCERNS ALSO EXIST BECAUSE THE HTTP HEADER IS EXPOSE AND CAN BE INSPECTED BY THIRD PARTIES • USING POST MAKES THIS EASIER TO PROTECT
  • 18.
    linking your formto a database
  • 19.
    using a database ONEOF THE MOST COMMON TASKS THAT YOU WILL WANT TO DO WITH A WEB FORM IS STORE THE INFORMATION IN A DATABASE • COVERED THIS LAST WEEK BUT IT IS WORTH GOING OVER AGAIN
  • 20.
    simpleform.html WE WILL USETHE SAME FORM AS BEFORE
  • 21.
  • 22.
  • 23.
    submitform.php • CONNECT TOTHE DATABASE • OBTAIN THE $POST VARIABLES
  • 24.
    submitform.php • CONNECT TOTHE DATABASE • OBTAIN THE $POST VARIABLES • FORM THE SQL QUERY
  • 25.
    submitform.php • CONNECT TOTHE DATABASE • OBTAIN THE $POST VARIABLES • FORM THE SQL QUERY • RUN THE SQL QUERY
  • 26.
    submitform.php • CONNECT TOTHE DATABASE • OBTAIN THE $POST VARIABLES • FORM THE SQL QUERY • RUN THE SQL QUERY • REDIRECT TO ANOTHER PAGE
  • 27.
  • 28.
    CONNECT TO THEDATABASE PUT IN THE HTML HEADERS viewusers.php
  • 29.
    CONNECT TO THEDATABASE PUT IN THE HTML HEADERS START AN UNORDERED LIST viewusers.php
  • 30.
    CONNECT TO THEDATABASE PUT IN THE HTML HEADERS START AN UNORDERED LIST OPEN UP THE PHP TAGS viewusers.php
  • 31.
    CONNECT TO THEDATABASE PUT IN THE HTML HEADERS START AN UNORDERED LIST OPEN UP THE PHP TAGS WRITE THE SQL QUERY viewusers.php
  • 32.
    CONNECT TO THEDATABASE PUT IN THE HTML HEADERS START AN UNORDERED LIST OPEN UP THE PHP TAGS WRITE THE SQL QUERY RUN THE QUERY viewusers.php
  • 33.
    CONNECT TO THEDATABASE PUT IN THE HTML HEADERS START AN UNORDERED LIST OPEN UP THE PHP TAGS WRITE THE SQL QUERY RUN THE QUERY USE THE WHILE LOOP TO OF THROUGH IT viewusers.php
  • 34.
    CONNECT TO THEDATABASE PUT IN THE HTML HEADERS START AN UNORDERED LIST OPEN UP THE PHP TAGS WRITE THE SQL QUERY RUN THE QUERY USE THE WHILE LOOP TO OF THROUGH IT • FOR ROW THAT EXISTS viewusers.php
  • 35.
    CONNECT TO THEDATABASE PUT IN THE HTML HEADERS START AN UNORDERED LIST OPEN UP THE PHP TAGS WRITE THE SQL QUERY RUN THE QUERY USE THE WHILE LOOP TO OF THROUGH IT • FOR ROW THAT EXISTS • TURN THE $ROW VARIABLES INTO NORMAL VARIABLES viewusers.php
  • 36.
    CONNECT TO THEDATABASE PUT IN THE HTML HEADERS START AN UNORDERED LIST OPEN UP THE PHP TAGS WRITE THE SQL QUERY RUN THE QUERY USE THE WHILE LOOP TO OF THROUGH IT • FOR ROW THAT EXISTS • TURN THE $ROW VARIABLES INTO NORMAL VARIABLES • ECHO THEM OUT viewusers.php
  • 37.