<HTML> <!-- add-client.html, an Embperl document --> <Head><Title>Add a client</Title></Head> <Body> <!-- Perform some initialization --> [! use Apache::DBI; $dbh = DBI->connect("DBI:mysql:test:localhost"); @colnames = qw(id name address1 address2 city state country zip contact_name contact_phone1 contact_phone2 contact_fax initial_contact_date dollars_per_hour); $colnames = join ', ', @colnames; !] [$ if scalar keys %fdat > 0 $] <!-- Make sure we avoid setting the ID --> [- @insert_colnames = grep !/^id$/, @colnames; -] [- $insert_colnames = join ', ', @insert_colnames; -] <!-- Create the query --> [- $values = join '", "', map {$fdat{$_ . "-0"}} @insert_colnames -] [+ $sql = "INSERT INTO Clients ($insert_colnames) VALUES (\"$values\")"; +] <!-- Send the SQL --> [- $sth = $dbh->prepare($sql); -] [- $sth->execute; -] <!-- If error, print a message --> <P><B>[+ $sth->errstr +]</B></P> [$ endif $] <!-- Here is the manual HTML part of the file, for entering new clients --> <H1>Add/Modify Client Information</H1> <Form method="POST" action="/embperl/add-client.html"> <Table border="2"> <!-- Create table for entering a new client --> [$ foreach $column @colnames $] [$ if $column ne "id" $] <TR> <TD> [+ $column +] </TD><TD> <input type="text" name="[+ $column +]-0" size="40" maxlength="40" > </TD> </TR> [$ endif $] [$ endforeach $] </Table> <P><input type="submit" value="Add/update values"> <input type="reset" value="Revert values"></P> </Form> </Body> </HTML>