Hi,
   The following scripts processes the form and write somthings out and then
allow the user to input his/her e-mail address.  After input of the e-mail
address, the script write it into a flat file.  However, the script runs
into trouble.

    Help!


#!/usr/local/bin/perl -wT

use strict;
use CGI;
use Fcntl ":flock";

open (OUTF, ">>db1.txt") || die;
flock(OUTF,2);
seek(OUTF,0,2);

my $q = new CGI;
my( $name, $value );
my $dietary = 0;


foreach $name ( $q->param ) {
   print OUTF "$name:";
   foreach $value ( $q->param( $name ) ) {
      print OUTF " $value |";

      if (( $name eq 'q4a' ) || ($name eq 'q4b' ) || ( $name eq 'q4c' ) ||
( $name eq 'q4d' ) ) {
         if ($value <= 3) {
     $dietary++;
         } #end
      } #end

   }
}
print OUTF "\n";

close(OUTF);

print $q->header( "text/html" );
print $q->start_html( -title => "Survey Result", -bgcolor => "#ffffff" );
print $q->p( " Survey ");
print $q->hr;

if ( $dietary >= 19 ) {
   print $q->p( "Dietary marks count:", $dietary );
   print $q->p( " Dietary Habit Health Advice 2 " ) ;
   }

if ( $smoking >= 1 ) {
   print $q->p( "Health Advice 4, Smoking marks count:", $smoking ) ;
   print $q->p( " You have to stop smoking as soon as possible  " ) ;

print $q->endform;

&print_prompt($q);
&do_work($q);
print $q->end_html;


sub print_prompt {
   my($query) = @_;

   print $query->start_form;
   print "<EM>What's your e-mail address? </EM>";
   print $query->textfield('ename');
   print <BR>;
   print "<P>",$query->reset;
   print $query->submit;
   print $query->endform;
   print "<HR>\n";
}

sub do_work {
   my($query) = @_;
   my($name,$value);

   open (OUTF, ">>dbemail.txt") || die;
   flock(OUTF,2);
   seek(OUTF,0,2);
   foreach $name ( $query->param ) {
      foreach $value ( $query->param( $name ) ) {
         print OUTF "$value\n";
         print "<H2>Thank you for your enquiries, you'll be contacted
shortly</H2>\n";
      }
   }
   close(OUTF);
}




----- Original Message -----
From: "Mark Bergeron" <[EMAIL PROTECTED]>
To: "Tat Nam" <[EMAIL PROTECTED]>; "Beginners Perl" <[EMAIL PROTECTED]>
Sent: Tuesday, December 11, 2001 1:06 AM
Subject: Re: cgi & form


> How are you calling the form. You might try and including a little of your
code so we can see what's going on.
>
> -----Original Message-----
> From: "Tat Nam"<[EMAIL PROTECTED]>
> To: "Beginners Perl"<[EMAIL PROTECTED]>
> Date: Sun Dec 09 23:01:10 PST 2001
> Subject: cgi & form
>
> >Hi,
> >   I'm writing a survey form.  A cgi program processes the states of the
form and print out somethings and it prompts the user to enter e-mail
address in a text box.  The user finishes the input of e-mail address. The
same cgi program will call another cgi program to process the input email
address.
> >   I managed to work out the work separately; one cgi program to
manipulate the state of the form, another cgi program to process the email
address.  However, when i combined two cgi program into one.  It runs into
trouble.
> >
> >  Do anybody help on this?
>
>
> ___________________________________________________
> GO.com Mail
> Get Your Free, Private E-mail at http://mail.go.com
>



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to