in reply to Re^3: Add timestamp to helpdesk form
in thread Add timestamp to helpdesk form
CGI:<form action="/cgi-bin/helpdesk.cgi" name="helpdesk"> <body style="background-color:yellow;"> <p> <u><h1 style="font-family:verdana;"><strong>Problem type:</strong></h1 +></u> <input type="radio" name="probtype" value="hardware"/><strong>Hardware +</strong> <input type="radio" name="probtype" value="software"/><strong>Software +</strong> <br/> <textarea name="problem" rows="10 cols="40"> Describe your problem. </textarea> <br/> <strong>YourName:</strong> <input type="text" width="40" name="name" /><br/> <input type="submit" name="submit" value="Submit Problem" /> </form>
#!/usr/bin/perl -w use strict; use CGI qw(:all); use Fcntl qw(:flock); # Location of the guestbook log file. Change this to suit your needs my $gbdata="http://www.perl03.georgeself.com/cgi-bin/forms.txt"; # Any file name will do for semaphore. my $semaphore_file="/tmp/helpdesk.sem"; # Function to lock (waits indefinitely) sub get_lock { open(SEM, ">$semaphore_file") || die "Cannot create semaphore: $!"; flock(SEM, LOCK_EX) || die "Cannot lock: $!"; } # Function to unlock sub release_lock { close(SEM); } # This function saves a passed-in help desk HTML form to a file sub save { get_lock(); open(GB, ">>$gbdata") || die "Cannot open $gbdata: $!"; print GB "name: ", param('name'), "\n"; print GB "type: ", param('probtype'), "\n"; print GB "problem: ", param('problem'), "\n"; print GB "time: ", scalar(localtime), "\n"; close(GB); release_lock(); } # This function displays the contents of the help desk log file as HTM +L, # with minimal formatting. sub display { open(GB, $gbdata) || die "Cannot open $gbdata: $!"; while(<GB>){ print "<B>$_</B><P>"; # The name my($type,$prob); $type=<GB>; # Assumes that each entry is $prob=<GB>; # exactly 3-lines long... my $time=<GB>; print "$type<P>"; print "$prob<BR><HR>"; print $time; } close(GB); } print header; # The parameter 'submit' is only passed if this CGI program was # executed by pressing the 'submit' button in the form in listing 22.7 if (defined param('submit')) { save; display; } else { display; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: Add timestamp to helpdesk form
by poj (Abbot) on Jul 04, 2014 at 17:01 UTC | |
by csorrentini (Acolyte) on Jul 04, 2014 at 17:55 UTC | |
by poj (Abbot) on Jul 04, 2014 at 20:26 UTC | |
by csorrentini (Acolyte) on Jul 04, 2014 at 20:44 UTC | |
by poj (Abbot) on Jul 04, 2014 at 21:03 UTC |