in reply to Re^2: Button Send
in thread Button Send

It sounds like you haven't written a lot of CGI programs before. You need to realize that clicking the button will do a HTTP POST against some page (often the originating one). A simple and common pattern is something like:

use CGI qw(:standard); # easiest and safest way to do this # ... if (param()) { # Parameters were passed in: like button clicks, # text box contents, radio selections, etc. # Do something here like # if (param('S1') eq 'Send') { ... } } else { # Write HTML to produce the "baseline page" # Like # print "<input ...>" }
There's some excellent material in the Tutorials that can help, and Ovid has a very nice online course.

Replies are listed 'Best First'.
Re^4: Button Send
by Midnite (Acolyte) on Aug 12, 2004 at 01:34 UTC
    I'm still a little lost. That tutorial didn't really help, except to clean up my html. But I still have the problem of how to get both to work at the same time.

    Here is what I am doing:

    # Setup up # Variables # and define work fields if (-e $datefile) { open (BOBIN, ">>$datefile") || die "Cannot Open File $datefile for + writing: $!"; # Open Data file } else { ### Open directory where files data files are located # Sort in descending order, pick out first file # And e-mail it } open (BOBIN, ">$datefile") || die "Cannot create File $datefile f +or writing: $!"; } if (!(param())) { # Do stuff # By processing data # put up web page # with formatted data <form> <center><input type=submit value=Send name=S1> </center></form> } else { if (param('S1') eq "Send") { print BOBIN $datajoin; use CGI; print redirect("http://www.gailborden.info/services/b +ob/submitq.htm");} } close(BOBIN);
    I keep getting an error that it cannot open the file

    Is there easier way to just redirect it to a confirmation page AND write the data after pressing a button?

    Does anyone know, if I change the "input type" to button can I do the same thing? When clicked, redirect to confirmation page and then write the data.

    I will be more then happy to send the full script and web form.

    Joseph A. Ruffino
    Automated Systems Assistant
    Gail Borden Public Library District
    270 N. Grove Ave
    Elgin, Il, 60120
    847-742-2411 x5986