Home    Cart    Free Download    Manual

Installation:
  Free Downloads
  The H2O Family
  Install Notes

Programming:
  Prerequisites
  H2O Whitepaper
  Online Manual
  Code Examples
  H2O Free Support


What's H2O?
H2O is programming made for the web.

What's it like?
H2O is English-like. If you know some Perl, VB, ASP, or PhP you'll be immediately productive in H2O. It runs on Linux, Mac, Unix, and Windows.

How do I try it?
Download H2O for free. Get it from hosting providers. Or buy on-line.

Where does H2O come from?
The language was invented by Aestiva. H2O stands for:
   HTML with
   HTML/OS
   Overlays.


Login File Editor

users_edit.html



<<

login_file="users.txt"
COPY FILE=login_file TS="," TO al_data /COPY
al_data=GETCOLNOTEQ(al_data,1,"")
al_data=GETCOLNOTEQ(al_data,1,"ERROR")
>>

<html>
<title>Login File Editor</title>
<table border=0 bgcolor=#FFFFFF width=600>
<tr><td align=center colspan=5 bgcolor=#CECECE>
<font color=#000088><b>Login Table</b></font></td></tr>

<tr bgcolor=#DDDDDD>
<td><b>Login ID</td>
<td><b>Password</td>
<td><b>Email Address</td>

<td><b>&nbsp;</td>
<td><b>&nbsp;</td>
</tr>
<<
FOR NAME=al_data ROWNAME=x DO
DISPLAY
'<tr bgcolor=#eeeeee>'+
'<td><b>'+x[1]+'&nbsp;&nbsp;</td>'+
'<td><b>'+x[2]+'&nbsp;&nbsp;</td>'+
'<td><b>'+x[3]+'&nbsp;&nbsp;</td>'+
'<td><b><a href=loaduser name=dx value="'+x[1]+'">Edit</a></td>'+
'<td><b><a href=deleteuser name=dx value='+x[1]+'>Delete</a></td>'+
'</tr>'
/DISPLAY
/FOR

>>

</table><a name=edit>
<form method=post action=edituser#edit>
<< IF al_err != "ERROR" THEN
DISPLAY
'<font color=red>'+al_err+'</font>'
/DISPLAY
al_err='ERROR'
/IF
>>

<table border=0 bgcolor=#FFFFFF width=600>
<tr><td align=center colspan=2 bgcolor=#CECECE>

<font color=#000088><b>Login Editor</b></font></td></tr>
<tr bgcolor=#DDDDDD>
<td align=right><b>Login ID</td>
<td><input type=text name=login_row[1] size=8></td>

</tr>
<tr bgcolor=#DDDDDD>
<td align=right><b>Password</td>
<td><input type=text name=login_row[2] size=20></td>
</tr>

<tr bgcolor=#DDDDDD>
<td align=right><b>Email Address</td>
<td><input type=text name=login_row[3] size=40></td>
</tr></table>

<input type=submit name="mySave" value="Save">
<input type=submit name="myCancel" value="Cancel">
</form>
</html>
<<overlay edituser
IF htmlos.clicked="MySave" THEN
IF LENGTH(login_row[1]) < 5 THEN
al_err='Login ID too short'
GOTO PAGE
/IF
IF COUNT(login_row[1]," ")>0 THEN
al_err='Spaces not allowed in Login ID'
GOTO PAGE
/IF
# password must be 6-17 chars long /#
IF LENGTH(login_row[2]) < 6 THEN
al_err='Password too short'
GOTO PAGE
/IF
IF LENGTH(login_row[2]) > 17 THEN
al_err='Password too long'
GOTO PAGE
/IF
IF LENGTH(login_row[3]) < 5 OR COUNT(login_row[3],"@") != 1 OR
COUNT(login_row[3],".")=0 OR COUNT(login_row[3]," ")>0 THEN
al_err='Bad Email Address.'
GOTO PAGE
/IF
# data okay /#
COPY FILE=login_file TS="," TO al_data /COPY
al_data=GETCOLNOTEQ(al_data,1,login_row[1])
APPEND login_row TO al_data /APPEND
COPY al_data TO FILE=login_file TS="," /COPY
login_row=""
al_err="Record Saved."
ELSE
login_row=""
/IF
GOTO PAGE

>>
<<overlay deleteuser
COPY FILE=login_file TS="," TO al_data /COPY
al_data=GETCOLNOTEQ(al_data,1,dx)
COPY al_data TO FILE=login_file TS="," /COPY
al_err="Record Deleted."
GOTO PAGE
>>
<<overlay loaduser
COPY FILE=login_file TS="," TO al_data /COPY
login_row=GETCOLEQ(al_data,1,dx)
GOTO PAGE
>>



NOTE: The users.txt file is comma-delimited.
The login IDs are stored in column 1 and are unique.
This file has three columns. It can be extended by
adding more colums to the report and more inputs in
the edit form.

Home | Cart | Free Download | Online Manual
COPYRIGHT © 2005 Aestiva, LLC. ALL RIGHTS RESERVED.