Solved

Problem with form.

Posted on 2000-05-01
17
180 Views
Last Modified: 2010-04-09
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
Comment
Question by:milalik
  • 8
  • 5
  • 3
  • +1
17 Comments
 
LVL 33

Expert Comment

by:knightEknight
Comment Utility
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
 
LVL 33

Expert Comment

by:knightEknight
Comment Utility
On a typical web server, I would expect to see something like this:

<form action="/cgi-bin/stringg.exe" method="post">
0
 
LVL 8

Expert Comment

by:bebonham
Comment Utility
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
 

Author Comment

by:milalik
Comment Utility
knightEknight..why post instead of get?

The server is unix. The files are chmod 755.
0
 
LVL 33

Expert Comment

by:knightEknight
Comment Utility
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
 

Author Comment

by:milalik
Comment Utility
My output is generated by a C++ program and it has those lines that you mentioned there.
0
 

Author Comment

by:milalik
Comment Utility
I am still having problems with the form.

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

It sends me to ablank page
0
 
LVL 33

Expert Comment

by:knightEknight
Comment Utility
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
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 

Author Comment

by:milalik
Comment Utility
It doesn't work with the exe extension but ir does with the cgi one. my cgi application is in C++.
0
 
LVL 33

Accepted Solution

by:
knightEknight earned 39 total points
Comment Utility
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
 

Author Comment

by:milalik
Comment Utility
I did reask this...do you have e-mail so I can send you the code?
0
 
LVL 1

Expert Comment

by:rhinosaur
Comment Utility
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
 

Author Comment

by:milalik
Comment Utility
it is ./cgi-bin/strin.cgi
0
 
LVL 1

Expert Comment

by:rhinosaur
Comment Utility
Have you tried the question mark?

Does the CGI program create a correct HTML file header too?
0
 

Author Comment

by:milalik
Comment Utility
nope
0
 

Author Comment

by:milalik
Comment Utility
The cgi program works

thanx
0
 
LVL 1

Expert Comment

by:rhinosaur
Comment Utility
Do tell ... What was the problem with it?
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Introduction The Google Maps API offers various ways to draw dynamic and static maps.  Using a combination of PHP and JavaScript, you can draw active JavaScript maps that allow pan-and-zoom in the client browser window.  You can also draw "static" …
This article discusses how to create an extensible mechanism for linked drop downs.
In this tutorial viewers will learn how to define a gradient in CSS. Create a new HTML document with an internal stylesheet.: Create a div in CSS and name it Gradient. Define the background as "linear-gradient(to right, #ee3668, black)". Ensure you …
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now