python cgi problem with textarea

A

Adrian Smith

This may be more a cgi thing than a Python one, but I'm trying to get
this page:

http://adrian10.phpwebhosting.com/trial.html

consisting basically of this:

<FORM ACTION="/cgi-bin/python3.cgi" METHOD="POST">
<TEXTAREA NAME="essay" COLS=60 ROWS=20 WRAP=HARD></TEXTAREA>
<P><INPUT TYPE=SUBMIT VALUE="submit" NAME="submitbutton">
</FORM>

....to print out the contents of the textarea with this cgi script:

#!/usr/bin/python
import cgi
print "Content-type: text/html\n"
form = cgi.FieldStorage()
print form["essay"].value

....and I get an internal server error if I have any spaces in the
textarea, which is really going to limit its usefulness to me. Oddly,
it seems to work for a friend in the UK who's looked at it, but it
doesn't work for me here in Japan.
 
P

placid

This may be more a cgi thing than a Python one, but I'm trying to get
this page:

http://adrian10.phpwebhosting.com/trial.html

consisting basically of this:

<FORM ACTION="/cgi-bin/python3.cgi" METHOD="POST">
<TEXTAREA NAME="essay" COLS=60 ROWS=20 WRAP=HARD></TEXTAREA>
<P><INPUT TYPE=SUBMIT VALUE="submit" NAME="submitbutton">
</FORM>

...to print out the contents of the textarea with this cgi script:

#!/usr/bin/python
import cgi
print "Content-type: text/html\n"
form = cgi.FieldStorage()
print form["essay"].value

...and I get an internal server error if I have any spaces in the
textarea, which is really going to limit its usefulness to me. Oddly,
it seems to work for a friend in the UK who's looked at it, but it
doesn't work for me here in Japan.

i just tried it and its working. here it is

http://yallara.cs.rmit.edu.au/~bevcimen/form.html

maybe the internal server error is because mod_python isn't installed
assuming your using Apache as your web server

Cheers
 
A

Adrian Smith

And what error appears in the server error log?

I've just asked my web provider why I don't appear to have a server
error log, as a matter of fact - I'll post it if and when they reply.
 
G

Graham Dumpleton

This may be more a cgi thing than a Python one, but I'm trying to get
this page:

consisting basically of this:
<FORM ACTION="/cgi-bin/python3.cgi" METHOD="POST">
<TEXTAREA NAME="essay" COLS=60 ROWS=20 WRAP=HARD></TEXTAREA>
<P><INPUT TYPE=SUBMIT VALUE="submit" NAME="submitbutton">
</FORM>
...to print out the contents of the textarea with this cgi script:
#!/usr/bin/python
import cgi
print "Content-type: text/html\n"
form = cgi.FieldStorage()
print form["essay"].value
...and I get an internal server error if I have any spaces in the
textarea, which is really going to limit its usefulness to me. Oddly,
it seems to work for a friend in the UK who's looked at it, but it
doesn't work for me here in Japan.

i just tried it and its working. here it is

http://yallara.cs.rmit.edu.au/~bevcimen/form.html

maybe the internal server error is because mod_python isn't installed
assuming your using Apache as your web server

You do not need mod_python installed to be able to run CGI scripts,
thus has nothing to do with mod_python.

Graham
 
P

placid

Yeah, but it wouldn't work *at all* in that case, would it? ATM it
seems to work as long as the textarea input has no spaces.

it doest work because the "space" character isnt interpreted
correctly, you need
to change the space characters too &nbsp;

Cheers
 
P

Peter Otten

Adrian said:
...and I get an internal server error if I have any spaces in the
textarea, which is really going to limit its usefulness to me. Oddly,

While debugging you should put
#!/usr/bin/python

import cgitb
cgitb.enable()
import cgi
print "Content-type: text/html\n"
form = cgi.FieldStorage()
print form["essay"].value

at the beginning of your cgi -- just in case the error is in the python
script.

Peter
 
T

Tim Roberts

placid said:
it doest work because the "space" character isnt interpreted
correctly, you need to change the space characters too &nbsp;

What??? Did you even read the problem description?
 
P

placid

What??? Did you even read the problem description?

oops...i did read the problem description, but i when i tried the code
it worked for me and when i put spaces into the TextArea it wasn't
reflected correctly back. So i thought this was the problem.

Adrian, can you still try replacing spaces with &nbsp; via the
following;

#!/usr/bin/python
import cgi
import urllib
import cgitb
cgitb.enable()
print "Content-type: text/html\n"
form = cgi.FieldStorage()
#print urllib.quote_plus(form["essay"].value)

for char in form["essay"].value:
if char == ' ':
print "&nbsp;"
else:
print char


Cheers
 
A

Adrian Smith

oops...i did read the problem description, but i when i tried the code
it worked for me and when i put spaces into the TextArea it wasn't
reflected correctly back. So i thought this was the problem.

Adrian, can you still try replacing spaces with &nbsp; via the
following;

#!/usr/bin/python
import cgi
import urllib
import cgitb
cgitb.enable()
print "Content-type: text/html\n"
form = cgi.FieldStorage()
#print urllib.quote_plus(form["essay"].value)

for char in form["essay"].value:
if char == ' ':
print "&nbsp;"
else:
print char

Cheers

I'll try it...but I think it may be a problem on the server end. It's
not showing up in the server logs, either.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,781
Messages
2,569,615
Members
45,297
Latest member
EngineerD

Latest Threads

Top