Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 189
  • Last Modified:

Problem with form.

This form is for a cgi application that does a search. The application is written in C++. when I write the text in the box and click submit it prompts me to save the .exe file. Why is it doing this?

html>

                 <head>
                 <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
                 <meta name="generator" content="Microsoft FrontPage 4.0">
                 <title>Search Engine</title>
                 </head>

                 <body>
                 <form action=".\cgi-stringg.exe" method="get">
                 <p><input type="text" name="town" size="24"> <input type="submit" name="submitButtonName"></p>
                 <p><input type="checkbox" value="checkboxValue" name="checkboxName1">By Name</p>
                 <p><input type="checkbox" value="checkboxValue" name="checkboxName2">By Location
                 </body>

                 </html>
0
milalik
Asked:
milalik
  • 8
  • 5
  • 3
  • +1
1 Solution
 
knightEknightCommented:
The action of the form must point to a web server and a directory on that server that has execute permissions.  Most web-servers will call this directory cgi-bin or something like that.  Is your .exe name "cgi-stringg.exe" or should it be "cgi/stringg.exe" ?
0
 
knightEknightCommented:
On a typical web server, I would expect to see something like this:

<form action="/cgi-bin/stringg.exe" method="post">
0
 
bebonhamCommented:
Are you running your site on a unix server?
you have to chmod 755 myfile.exe
to make it work there....

on IIS...well, I'm not as familiar, but you are certiainly dealing with a permissions issue.

you have not given everyone access to execute this file

talk to your web host if you are totally lost by this.  It's a very simple problem to fix.

Hope the helps
Bob Bonham
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
milalikAuthor Commented:
knightEknight..why post instead of get?

The server is unix. The files are chmod 755.
0
 
knightEknightCommented:
Just a typo -- post or get will both work.  If the file is 755, then the problem is probably with the cgi directory itself.  You must have a web-server administration application -- I'm not sure exactly how it will look on your server, but somewhere in there you can specify which directory(s) can have execute permissions.  Also, (I assume you know this, but) the first line of code from your CGI program must define the content type ... something like this:

Content-type:text/html

<HTML>
This is my CGI output
</html>
0
 
milalikAuthor Commented:
My output is generated by a C++ program and it has those lines that you mentioned there.
0
 
milalikAuthor Commented:
I am still having problems with the form.

It is at http://amadeus.uprm.edu/~banjo

It sends me to ablank page
0
 
knightEknightCommented:
you are missing the </form> tag at the bottom of the form -- but that won't solve the CGI problem.  It has something to do with the configuration of the cgi-bin directory.  I suggest you make a simpler cgi program for testing that doesn't require any form input.  A simple "hello world" cgi that you can hit with your browser.  For example, in C, do this:


void main()
{
  printf("Content-type: text/html\n\n"
          "<HTML>\n<BODY>\n"
          "<CENTER><B>Hello World</b></center>\n"
          "</body>\n</html>\n" );
}

compile this and call it "cgitst.txt", put it in cgi-bin, then hit it with this URL:

http://amadeus.uprm.edu/~banjo/cgi-bin/cgitst.exe

If you get data back then your cgi-bin directory is configured correctly, otherwise not.
0
 
milalikAuthor Commented:
It doesn't work with the exe extension but ir does with the cgi one. my cgi application is in C++.
0
 
knightEknightCommented:
Yes, the filename is not relavent as long as it has 755 permissions.

Anyway, if the test program works correctly, then the problem must be in your C++ program.  I could look at it for you if you want to post it here, or you could re-ask this question in the CGI forum (instead of the HTML forum) since it appears to be a CGI problem.
0
 
milalikAuthor Commented:
I did reask this...do you have e-mail so I can send you the code?
0
 
rhinosaurCommented:
Try putting a question mark after the reference to your file. e.g.

<form action=".\cgi-stringg.exe?" method="get">

And also make sure that it is placed in a CGI-BIN directory (or similar) with the permissions correctly set.

Hope that helps.
0
 
milalikAuthor Commented:
it is ./cgi-bin/strin.cgi
0
 
rhinosaurCommented:
Have you tried the question mark?

Does the CGI program create a correct HTML file header too?
0
 
milalikAuthor Commented:
nope
0
 
milalikAuthor Commented:
The cgi program works

thanx
0
 
rhinosaurCommented:
Do tell ... What was the problem with it?
0

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

  • 8
  • 5
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now