| |
| |
Introduction | |
| |
| |
A Visit to the Past of e-RPG | |
| |
| |
A Visit to the Future of e-RPG | |
| |
| |
The "Hello World" Syndrome | |
| |
| |
Right to the Point | |
| |
| |
On with the Show | |
| |
| |
| |
Tools for the Web | |
| |
| |
Team HTML | |
| |
| |
Light Up the Highway | |
| |
| |
HTTP Headers | |
| |
| |
Content-type | |
| |
| |
Expires | |
| |
| |
Cache-Control | |
| |
| |
Pragma: no-cache | |
| |
| |
Location | |
| |
| |
More Headers | |
| |
| |
Meta Tags | |
| |
| |
HTTP-EQUIV Meta Tags | |
| |
| |
NAME Meta Tags | |
| |
| |
Hidden Fields | |
| |
| |
Stylesheets | |
| |
| |
Simple Formatting | |
| |
| |
Stylesheet Classes | |
| |
| |
External Stylesheets | |
| |
| |
Choose Your Style | |
| |
| |
Frames | |
| |
| |
How Do They Work? | |
| |
| |
Frames Examples | |
| |
| |
Uses for Frames | |
| |
| |
The Base of the Web | |
| |
| |
| |
A Closer Look at Javascript | |
| |
| |
Working with Forms | |
| |
| |
Form Validation | |
| |
| |
Form Field Manipulation | |
| |
| |
Form Submission | |
| |
| |
Other JavaScript Tricks | |
| |
| |
JavaScript Hyperlinks | |
| |
| |
Changing Window Status | |
| |
| |
Debugging JavaScript | |
| |
| |
Alert | |
| |
| |
Try Netscape for Clearer Error Messages | |
| |
| |
Trimming Blanks from Character Data | |
| |
| |
Including JavaScript Source by Reference | |
| |
| |
JavaScript--Friend, Not Foe | |
| |
| |
| |
HTTP Configuration | |
| |
| |
Map, Exec, and Pass--The Basics | |
| |
| |
Map | |
| |
| |
Exec | |
| |
| |
Pass | |
| |
| |
Order Makes a Difference! | |
| |
| |
Denial of Service (DoS) Protection | |
| |
| |
The AS/400 Advantage? | |
| |
| |
DoS Configuration Directives | |
| |
| |
Trust | |
| |
| |
Protection | |
| |
| |
The Protection and Protect Directives | |
| |
| |
AuthType | |
| |
| |
Server ID | |
| |
| |
PasswdFile | |
| |
| |
Mask | |
| |
| |
A Protection Example | |
| |
| |
Protect | |
| |
| |
Logging | |
| |
| |
LogFormat | |
| |
| |
AccessLog | |
| |
| |
RefererLog | |
| |
| |
ErrorLog | |
| |
| |
CGIErrorLog | |
| |
| |
AgentLog | |
| |
| |
Log Cleanup | |
| |
| |
Specifying Custom Error Pages | |
| |
| |
The ErrorPage Directive | |
| |
| |
Running Multiple Web Sites | |
| |
| |
Virtual Hosts (Host Headers) | |
| |
| |
Multiple Servers | |
| |
| |
AddType | |
| |
| |
Conclusion | |
| |
| |
| |
The ILE Handbook | |
| |
| |
What Is ILE? | |
| |
| |
The Key Pieces to ILE | |
| |
| |
Subprocedure | |
| |
| |
Module | |
| |
| |
Service Program | |
| |
| |
Binder Language | |
| |
| |
Binding Directory | |
| |
| |
Activation Group | |
| |
| |
ILE Terms Further Explained | |
| |
| |
Subprocedure | |
| |
| |
Module | |
| |
| |
Service Program | |
| |
| |
Binder Language | |
| |
| |
Binding Directory | |
| |
| |
Activation Group | |
| |
| |
Basic ILE Examples | |
| |
| |
ILE Module Says Hello! | |
| |
| |
Hello and Goodbye | |
| |
| |
Modular Concepts and the Next Step | |
| |
| |
Bind by Reference | |
| |
| |
ILE Service Program Says Hello! | |
| |
| |
Binder Language and Signatures | |
| |
| |
Examining Signatures | |
| |
| |
Your Own Signatures | |
| |
| |
Simple Compiling with Binding Directories | |
| |
| |
Subprocedure Parameter Keywords | |
| |
| |
Subprocedure Design | |
| |
| |
Grouping Subprocedures into Modules or Service Programs | |
| |
| |
Final Thoughts on ILE | |
| |
| |
| |
Using SQL for Easier Record Selection | |
| |
| |
What Is SQL? | |
| |
| |
SQL Commands | |
| |
| |
Update and Delete | |
| |
| |
Select Your Data | |
| |
| |
SQL and RPG--Embedded SQL | |
| |
| |
The Sqlrpgle Member Type | |
| |
| |
SQL and Cursors | |
| |
| |
SQL and Commitment Control | |
| |
| |
The Sqlrpgle Basics | |
| |
| |
SQL Return Codes | |
| |
| |
Embedded SQL | |
| |
| |
Dynamic SQL | |
| |
| |
A Simple Dynamic SQL Script | |
| |
| |
Positioning with Dynamic SQL | |
| |
| |
An SQLRPGLE Example | |
| |
| |
Definitions | |
| |
| |
The Main Processing | |
| |
| |
The Dynsql Program in Action | |
| |
| |
Selecting and Sorting | |
| |
| |
A Look at the Application | |
| |
| |
A Look at the Code | |
| |
| |
First Things First | |
| |
| |
Displaying the Data | |
| |
| |
Building the SQL Statment | |
| |
| |
Displaying the Form | |
| |
| |
Last Things Last | |
| |
| |
SQL, Your Secret Weapon | |
| |
| |
| |
CGI APIs: A Second Look | |
| |
| |
QTMHCGI, Meet QZHBCGI | |
| |
| |
A Visit to Some Old Friends | |
| |
| |
QtmhWrStout--Write Standard Output | |
| |
| |
QtmhGetEnv--Get Environment Variable | |
| |
| |
QtmhRdStin--Read Standard Input | |
| |
| |
QthmCvtDB--Convert to DB | |
| |
| |
The Input String Parameter | |
| |
| |
QthmPutEnv--Put Environment Variable | |
| |
| |
The New Kids on the Block | |
| |
| |
CGI Parse (QzhbCGIParse) | |
| |
| |
Other Qzhbcgi APIs | |
| |
| |
| |
More Weapons for Your e-RPG Arsenal | |
| |
| |
F.HTTPSTD--Standard HTTP Functions | |
| |
| |
The #WrStout Wrapper | |
| |
| |
The #GetEnv and #GetEnv2 Wrappers | |
| |
| |
The #RdStin and #RdStin2Wrapper | |
| |
| |
The #CvtDB Wrapper | |
| |
| |
The #PutEnv Wrapper | |
| |
| |
The #CGIParse Wrapper | |
| |
| |
F.IFSHTML--Read from the IFS | |
| |
| |
An Introduction to the IFS | |
| |
| |
Back to F.IFSHTML | |
| |
| |
The F.IFSHTML Code | |
| |
| |
F.SSI--Server-Side Include Functions | |
| |
| |
#IncludeV--Include Virtual | |
| |
| |
#IncludeF--Include File | |
| |
| |
#EchoV--Echo Variable | |
| |
| |
#ExecCGI--Execute CGI as SSI | |
| |
| |
Simple Yet Effective | |
| |
| |
F.String--String-Manipulation Functions | |
| |
| |
#CtoN--Convert Character Values to Numeric | |
| |
| |
#Replace--Replace Character(s) | |
| |
| |
#ToUpper and #ToLower--Convert to Upper/Lowercase | |
| |
| |
#ZChar--Zero-Suppress a Character | |
| |
| |
#Len--Return the Length of a String | |
| |
| |
Roll Your Own | |
| |
| |
| |
e-RPG Cookies | |
| |
| |
Cookies--The Good and the Bad | |
| |
| |
e-RPG's Recipe for Cookies | |
| |
| |
Start with a Dollop of Research | |
| |
| |
Add a Cup of ILE | |
| |
| |
Combine and Bake | |
| |
| |
A Cookie Sample | |
| |
| |
Fortune Cookies | |
| |
| |
| |
Tips and Techniques | |
| |
| |
The Integrated File System (IFS) | |
| |
| |
The "root" File System | |
| |
| |
The /Qsys.lib File System | |
| |
| |
The /Qdls File System | |
| |
| |
The /QOpenSys File System | |
| |
| |
The Rest of the IFS | |
| |
| |
Using FTP | |
| |
| |
FTP Commands | |
| |
| |
FTPing with the Correct Name Format | |
| |
| |
The Workstation Gateway Interface (WSG) | |
| |
| |
Debugging e-RPG Programs | |
| |
| |
Very Verbose HTTP Server | |
| |
| |
Using e-RPG to Report Errors | |
| |
| |
The Errorform Program | |
| |
| |
The Errorform Source | |
| |
| |
Server Side Includes | |
| |
| |
Instructing Your Server to Allow SSI | |
| |
| |
SSI Goes to Work | |
| |
| |
SSI, a Building Block | |
| |
| |
Share Your Tips | |
| |
| |
| |
A Practical Example | |
| |
| |
Welcome to My Site! | |
| |
| |
What to Look for | |
| |
| |
Show Me the Code! | |
| |
| |
The Welcome Page | |
| |
| |
The Stylesheet | |
| |
| |
The Item File | |
| |
| |
The Shopping Basket File | |
| |
| |
The Shop1 e-RPG Program | |
| |
| |
The Shop2 e-RPG Program | |
| |
| |
The Shop3 e-RPG Program | |
| |
| |
The Shop4 e-RPG Program | |
| |
| |
The Shop5 e-RPG Program | |
| |
| |
Your Assignment | |
| |
| |
| |
Cool e-RPG Applications | |
| |
| |
The Get URI (Geturi) Command | |
| |
| |
Socket Communications | |
| |
| |
Capturing Data from the Socket | |
| |
| |
The Geturi Command | |
| |
| |
The Geturi CLP Program | |
| |
| |
The Geturi RPG Program | |
| |
| |
More to the Story? | |
| |
| |
A Simple e-RPG Counter | |
| |
| |
Uploading Files with e-RPG | |
| |
| |
The Upload Web Page | |
| |
| |
Reading Stream Data | |
| |
| |
Processing the File Headers | |
| |
| |
Writing and Cleanup | |
| |
| |
Take a Break | |
| |
| |
| |
GreenYak! | |
| |
| |
GreenYak! The Interactive Web-Chat Client | |
| |
| |
Page Design | |
| |
| |
The Files | |
| |
| |
The Frames | |
| |
| |
| |
The Header | |
| |
| |
| |
The List of Active Users | |
| |
| |
| |
The Conversation Text | |
| |
| |
| |
The Chat Input | |
| |
| |
The Chatexit Program | |
| |
| |
Keeping It All Moving | |
| |
| |
Go Chat! | |
| |
| |
| |
e-RPG, More than HTML! | |
| |
| |
e-RPG Does XML! | |
| |
| |
What Is XML? | |
| |
| |
e-RPG and XML | |
| |
| |
Using e-RPG to Communicate with Handheld Devices | |
| |
| |
Handheld Device Markup Language (HDML) | |
| |
| |
Wireless Markup Language (WML) | |
| |
| |
The Future of e-RPG | |
| |
| |
Appendix | |
| |
| |
Index | |