2017-04-13 84 views
-3

我用崇高的文本3和XAMPP編寫一個HTML響應的Perl CGI遇到錯誤404的Perl:爲什麼我在HTML響應得到404?

的第一頁是index.html的 網址:裏面的htdocs

<HTML> 
<HEAD> <Title> CGI with lighttpd and Perl </ Title> </ HEAD> 
<BODY> 

<Form METHOD = GET ACTION = echo site_url ("C: \ xampp \ cgi-bin \ cgiDemo.pl")> <BR> 
Class: 

<INPUT type = radio name = class value = "3A"> 3A 
<INPUT type = radio name = class value = "3B"> 3B 
<P> 
Input Your ID Here: <input type = "text" name = "studentID"> 
<BR> 
Input Your Name Here: <input type = "text" name = "studentName"> 
<P> 
<INPUT TYPE = submit VALUE = "Send"> <INPUT TYPE = reset VALUE = "Clear"> 
</ P> 
</ Form> 

</ BODY> 
</ HTML> 

第二的XAMPP http: // localhost/aa / 機管局文件夾頁面cgiDemo.pl 網址:http: // localhost/aa/echo? Class = 3A & studentID = & studentName = CgiDemo.pl被放置在XAMPP的cgi-bin文件夾 始終顯示請求的URL

#! "C: \ xampp \ perl \ bin \ perl.exe" 

Print "Content-type: text/html \ n \ n"; 

Print "<html> <head> <title> HELLO! </ Title> </ head>"; 
Print "<body> \ n"; 
Print "<h2> CGI is working !!! </ h2> \ n"; 

# Print "String = $ ENV {'QUERY_STRING'} \ n \ n <p>"; 
@values ​​= split (/ & /, $ ENV {'QUERY_STRING'}); 
Foreach $ i (@values) { 
($ Varname, $ mydata) = split (/ = /, $ i); 
Print "$ varname = $ mydata \ n \ n <p>"; 
} 
Print "</ body> </ html> \ n"; 

哪一邊是問題 謝謝

+1

如果這是你真正的代碼,然後有一堆東西錯。首先,您不能在變量的名稱和名稱之間留出空格。 '$ mydata'是一個語法錯誤。通過把'使用strict'和你的腳本的頂部'使用warnings',然後修復錯誤開始。此外,我建議你去閱讀你的教材,因爲(沒有犯罪),它看起來像你根本不知道自己在做什麼。我們不能在這裏教你編程,對不起。 – simbabque

+0

爲什麼有這麼多的額外空間?當然,這是一個複製粘貼錯誤? –

回答

0

你的代碼有太多問題。我不知道你是如何試圖學習Perl的,但我認爲你需要把多一點的努力:-)

你的描述不是很清楚,但我覺得你說你在HTML頁面中提交表單時出現404錯誤。這幾乎肯定意味着表單元素上的「action」屬性包含無效的URL。因此,讓我們通過觀察該行開始:

<Form METHOD = GET ACTION = echo site_url ("C: \ xampp \ cgi-bin \ cgiDemo.pl")> 

隨着人們在評論中所提到的,也有在此代碼太多的空間。希望這是在將代碼從機器切割到此網站的過程中添加的一個問題。因此,也許它真的是這樣的:

<Form METHOD="GET" ACTION='echo site_url ("C:\xampp\cgi-bin\cgiDemo.pl')> 

還有這麼奇怪的echo site_url(...)電話。我完全不知道是什麼技術 - 但是你有一個文件路徑,而不是一個URL。我認爲它應該更像:

<Form METHOD="GET" ACTION="cgi-bin/cgiDemo.pl"> 

隨着這些改變,你的CGI程序應該被找到。然後您可以開始考慮Perl代碼中的許多語法錯誤。

相關問題