One of the first things that new users may want to do after signing up and logging in is to create a profile, which can be done via Example 20-9, rnprofile.php. I think you’ll find some interesting code here, such as routines to upload, resize, and sharpen images.
Let’s start by looking at the main HTML at the end of the code.
This is like the forms you’ve just seen, but this time it has the
enctype='multipart/form-data'. This allows us
to send more than one type of data at a time, enabling the posting of an
image as well as some text. There’s also an
<input...> type of
file, which creates a browse button that a
user can press to select a file to be uploaded.
When the form is submitted, the code at the start of the program is executed. The first thing it does is ensure that a user is logged in before allowing program execution to proceed. Only then is the page heading displayed.
'text' is checked to see whether
some text was posted to the program. If so, it is sanitized and all
long whitespace sequences (including returns and line feeds) are
replaced with a single space. This function incorporates a double
security check, ensuring that the user actually exists in the database
and that no attempted hacking can succeed before inserting this text
into the database, where it will become the user’s “about me”
If no text was posted, the database is queried to see whether any already exists in order to prepopulate ...