dcsimg
www.webdeveloper.com
Results 1 to 4 of 4

Thread: Invoking CGI script from html pages

  1. #1
    Join Date
    Feb 2003
    Posts
    12

    Invoking CGI script from html pages

    Ok, the most basic question possible...
    How do I invoke my perl CGI scrips from .html pages?

    1) I know I can do this from a form button
    (eg. html page contains a "post a comment type form thing"
    with a submit button that calls the CGI script to send an email)

    2) Similarly, I know I can do this from a hyperlink
    (eg. html page contains an <a> tag with the href pointing
    towards the CGI script which will output the required page)

    3) I think it can be done via server side includes (SSI) but I
    have never managed this in practice.

    An example of my feeble attempts is -
    <p>Before the include</p>
    <!--#exec cgi="http://www.netmotorway.co.uk/cgi-bin/james/mycount/count2.pl"-->
    <p>After the include</p>
    However...this does not work, all I get is the text within the <p> tags
    ...I have also tried "include" in place of the "exec"...

    Surfing for answers, I suspect this is because the page must
    be called .shmtl or something but I have never understood why!

    Is this true ?
    Will all servers allow this?
    Can a normal web page with a .html extension have SSI?

    But what I am looking for is a way to get a normal .html
    extension web page to invoke the CGI script and then
    continue with the rest of the page...can this be done ???

  2. #2
    Join Date
    Nov 2002
    Location
    NY, USA
    Posts
    731
    Surfing for answers, I suspect this is because the page must
    be called .shmtl or something
    .shtml, and it has to be that because the server will only check files of that extension for SSI commands.

    but I have never understood why!
    Just as .php files are parsed as PHP and .asp files are parsed as ASP. The extension is your way of telling the server to interpret SSI commands in that particular file.

    Can a normal web page with a .html extension have SSI?
    Generally speaking, no. But this does depend on the server configuration.

    But what I am looking for is a way to get a normal .html
    extension web page to invoke the CGI script and then
    continue with the rest of the page
    A work around would possibly be to use a frame that takes up 0% of the window that points to the CGI script. Though it would be much easier and better to just rename the extension to .shtml
    Last edited by jeffmott; 03-27-2003 at 10:52 AM.

  3. #3
    Join Date
    Apr 2003
    Location
    UK
    Posts
    16
    why must it be .html ?
    If its just appearance you're after then why not make the cgi generate the page in the first place and finish the script with print "Location: $url\n\n";
    where $url is the page you just generated.

    If its your server you can hack the apache httpd.conf to allow .html pages to execute server scripts as well as .shtml

    Also you can make it so that you don't need .pl or .cgi as an extension for a script so you could call it like http://www.somesite/cgi-bin/script?name=bert

    You dont even need to be in the cgi-bin if you hack the httpd.conf file correctly

    Otherwise, just rename the page to whatever.shtml

    Also, sometimes, exec cgi doesn't work (on some servers) you may have to use #include virtual instead

    alan

  4. #4
    Join Date
    May 2003
    Posts
    4

    also

    If I may,

    Also, your server may require that you use your web path for included files. Instead of

    <!--#exec cgi="http://www.netmotorway.co.uk/cgi-bin/james/mycount/count2.pl"-->
    you may have to use

    <!--#exec cgi="path/to/your/cgi-bin/james/mycount/count2.pl"-->

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles