Ok I added your code and uploaded them however the problem I'm running into is when I run the helpdesk.html and input random nonsense, as soon as I hit submit it locates the cgi file but nothing is displayed at all just a blank webpage. Also I look at the "database" file forms.txt and nothing was written to it. Sorry for all the questions I'm so new to PERL and not fully understanding this section. I'll post both the HTML and the CGI file. Here is a link to the helpdesk ticket submit page. http://www.perl03.georgeself.com/helpdesk.html
<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>
CGI:
#!/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; }

In reply to Re^4: Add timestamp to helpdesk form by csorrentini
in thread Add timestamp to helpdesk form by csorrentini

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.