2016-11-29 2 views
0

У меня возникли проблемы с преждевременным завершением ошибки сценария и ошибки трассировки.Преждевременный конец сценария?

Код ниже modifyStudent.py

#!/usr/bin/python 
# -*- coding: UTF-8 -*- 

import cgi, cgitb 
import dbConnect 
import menuHelper 

cgitb.enable() 

formData = cgi.FieldStorage() 

firstName = menuHelper.getNameValue(formData, "firstName") 
lastName = menuHelper.getNameValue(formData, "lastName") 

# Tell the browser what kind of data to expect 
print ("Content-type: text/html\n") 

print("<h2>Modify Student</h2>") 

menuHelper.printMenuLink() 

print("<br><br>") 

isUpdate = dbConnect.getStudentData(lastName, firstName) 
print("isUpdate=", isUpdate) 

print('<center><form method="post" action="modifyStudentHandler.py">', 
     '<input type="hidden" name="isUpdate" value=' + str(isUpdate) + '>', 
     'First Name:', '<input type="text" name="firstName" value=' + firstName + ' readonly>', "<br>" 
     'Last Name: ', '<input type="text" name="lastName" value=' + lastName + ' readonly>', "<br>", 
     # Fields for the grades. 
     'Hw 1: ', '<input type="numbers" name="hw1">', "<br>", 
     'Hw 2: ', '<input type="numbers" name="hw2">', "<br>", 
     'Hw 3: ', '<input type="numbers" name="hw3">', "<br>", 
     'Midterm: ', '<input type="numbers" name="midterm">', "<br>", 
     'Final: ', '<input type="numbers" name="final">', "<br>", 
     # Submit button 
     '<input type="submit" value="Save">', 
     '</form></center>', 
    '</center>'); 

    dbConnect.closeConnection() 

я в настоящее время работает веб-приложение, которое я пытаюсь добавить эту функцию для проекта, однако я получаю следующие ошибки:

[error] [client 24.169.14.133] Premature end of script headers: modifyStudent.py, referer: http://34.193.0.192/cgi-bin/menu.py 
[error] [client 24.169.14.133] Traceback (most recent call last):, referer: http://34.193.0.192/cgi-bin/menu.py 
[error] [client 24.169.14.133] File "/var/www/devApp/cgi-bin/modifyStudent.py", line 7, in <module>, referer: http://34.193.0.192/cgi-bin/menu.py 
[error] [client 24.169.14.133]  import menuHelper.py, referer: http://34.193.0.192/cgi-bin/menu.py 

Почему я получаю эти ошибки?

+0

Это так 90-е годы. Используйте фреймворк python, например django – e4c5

ответ

0

Ваша проблема связана с тем, как работает HTTP. Стандарт является то, что ожидается ввод будет:

header lines 
blank line 
HTML Content 

ваша линия:

print ("Content-type: text/html\n") 

является заголовком, а затем нет пустой строки перед полезной нагрузкой.

Следовательно, вы, вероятно, хотите:

print ("Content-type: text/html\n\n") # note the extra \n 
print("<h2>Modify Student</h2>") 

Таким образом, ваш выход становится:

Content-type: text/html 

<h2>Modify Student</h2> 
.... other HTML. 

Как в стороне ваш HTML плохо формируется, как вы действительно должны иметь:

<html> 
    <head></head> 
    <body>your HTML goes here</body> 
</html> 

, как минимальный. Если бы у вас была полезная нагрузка как правильный, хорошо сформированный HTML, заголовок, предоставляющий тип контента, почти наверняка не понадобился.

Смежные вопросы