=====
CS 328 - Week 11 Lecture 1 - 2025-04-07
=====
=====
TODAY WE WILL
=====
* announcements
* writing a PHP function to hide connection complexity
* review: handling a query
...that returns multiple rows
...but in a postback PHP!
...but to populate the options in a select/drop-down form widget!
* and let's use a BIND variable to more-safely build a
dynamic query based on the user's choice!
* prep for next class
=====
* should be working on Homework 9!
* at-least-1st-attempts due by 11:59 pm on Friday, April 11
* should be reading and working through the activities
in zyBooks Chapter 5 - PHP Fundamentals
=====
SIDE NOTE: if you are considering taking Humboldt courses in SUMMER 2025
=====
* registration for SUMMER 2025 opens for ***EVERYONE*** on APRIL 14!!!!
* from:
https://www.humboldt.edu/student-financial-services/summer-term-2025
"For the 2025 Summer term, the university is guaranteeing 4 units,
if enrolled in 6 or more units, will be covered for all continuing
matriculated undergraduate students. This will cover 4 units of
the tuition charge and does not include coverage of mandatory
campus-based fees or the additional non-resident tuition if
applicable."
* see the above link for more information!
=====
UPCOMING SCHEDULE
=====
* TODAY - more PHP-and-OCI
* Wednesday, April 9 - review for Exam 2 (clicker questions included!)
* Thursday, April 10/Friday, April 11
* There WILL be a Week 11 lab exercise!
* 11:59 pm Friday, April 11
* at-least-first-attempts at Homework 9 problems due
* deadline for credit for zyBooks Chapters 3, 4, 5 activities
* Monday, April 14 - more PHP-and-OCI (the newly-intro'd parts will
NOT be part of Exam 2)
* 11:59 pm Monday, April 14
* any final improved versions of problems from
Homeworks 6-9 are DUE, so that...
* 12:01 am Tuesday, April 15
* selected EXAMPLE SOLUTIONS for Homeworks 6-9
can be made reachable on Canvas, for Exam 2 study use
* Wednesday, April 16 - Exam 2, during lecture, in SH 108
* Exam 2 - Bonus must be submitted *ON CANVAS* by 3:00 pm
on Wednesday, April 16
* Thursday, April 17/Friday, April 18
* There WILL be a Week 12 lab exercise!
* (Homework 10 comes out AFTER the Week 12 Labs)
=====
* built a PHP function in an external PHP file to
make setting up a connection (to the PHP document
owner's Oracle student account) more convenient;
* see the resulting PHP function hum_conn_no_login
in file hum_conn_no_login.php
* note how it uses an <code>exit;</code> statement
to end the current (calling) PHP document
immediately if an Oracle connection is not
successfully made
* note how it uses require_once to include the
html-template.html's footer, and body and html
end tags, when we want them
* see how require_once is used to include the file
hum_conn_no_login.php containing the function
hum_conn_no_login once in the head element of
328lect11-1-empl-request.php,
so the function hum_conn_no_login can then be called
as desired in the body element of
328lect11-1-empl-request.php
=====
* see 328lect11-1-empl-request.php to see another
postback PHP that either creates a desired form
or responds to that form when it is submitted
* note how it DYNAMICALLY builds the option elements
for its select/drop-down form widget of employee
numbers and last names --
this is a GOOD approach, since any changes to employees
(insertions, deletions, updates) require NO changes
to the PHP code building this select/drop-down form widget!
...each time this PHP is executed, it selects the CURRENT empl
table's contents and uses them to build this select/drop-down!
* note how it uses a BIND VARIABLE to thwart SQL INJECTION,
to more-safely build a DYNAMIC select statement asking for
information about the selected employee when its form is
submitted --
SEE the posted handout "Basics of Oracle/PHP Bind Variables"
for important basics you NEED to know about SQL injection
and Oracle/PHP bind variables!