2012-07-25 104 views
1

我開發了一個網絡爬蟲來搜索我公司網站上的某些標籤,以確保它們是實時的,有谷歌分析,等等。然而,我的公司有近百個網站,所以實際的抓取過程實際上是一種抓取。所以我想創建一個表單,用戶輸入我們公司的一個網址,它只能抓取那個網站。我對錶單不太滿意,所以我基本上希望表單存儲用戶輸入的url,然後重定向到不同的頁面,在該頁面中將url提供給抓取工具並顯示結果。 這裏基本上是我迄今爲止,沒有太多,我有麻煩重定向到不同的頁面和存儲的URL變量,所以我可以將它傳遞給我有的履帶式代碼。PHP表單動作沒有重定向

<div id="main-content" class="mc-left"> <div class="entry"> <div style="position:absolute; margin-left:520px; height:25px; width:120px; font-size:10px;"> </div> 
</div> 
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> 

<form name="form1" id="form1" method="POST" action="submitcrawler.php"> 
    <div class="hiddenfields"> 
    <p>Website Address:<br> 
    <input name="websiteaddress" type="text"></p> 
    <input type="submit" class="submit" name="submit" value="Submit">   
</form> 

正如你可以看到我想這種形式帶給我submitcrawler.php,但是,當我創建一個PHP文件,當我點擊提交它帶給我當前的蛞蝓(../crawler-2 /submitcrawler.php而不是../submitcrawler.php),所以它拋出了一個404錯誤

+2

做你試過'../submitcrawler。php' – 2012-07-25 16:16:41

+0

是的完美工作。非常感謝你! – rhuber16 2012-07-25 17:25:15

回答

1

表單提交到'submitcrawler.php'在與你正在查看的文件相同的文件夾中,所以如果它in/crawler-2 /那麼這就是它的外觀。

使用../如果你想升級到上面的目錄,或者可能更好,請使用/並從web根目錄(apache/web服務器可查看的頂級目錄)輸入文件的路徑。

所以

<form action="../submitcrawler.php"> 

<form action="/submitcrawler.php"> 
0

如果你正在談論的文件位於crawler-2目錄下,它會將表單提交給該文件,除非你使用相對路徑../submitcrawler.php

0

您在該表單上設置的操作會將其發送到與當前腳本相同的目錄中的submitcrawler.php。嘗試將操作更改爲../submitcrawler.php,或者將其設置爲腳本的絕對URL(http://mydomain.me/submitcrawler.php)

0

您在後置操作值中使用了相對路徑。例如,如果您的爬蟲程序腳本位於您的webroot中,則應使用action =「/ submitcrawler.php」。如果沒有,你可以做一些像action =「/ path/to/submitcrawler.php」

1

對於您正在尋找的功能,你可以嘗試使用method="GET"。這樣,您可以看到正在傳遞給URL中其他PHP腳本的信息。

然後只需檢索其他PHP腳本的信息:

if(isset($_GET['websiteaddress'])) { 
    $websiteaddress = $_GET['websiteaddress']; 
} else { 
    echo "No web address was received."; 
} 

在形式action屬性而言,你需要的,如果腳本都將是靜態使用的絕對路徑,反之腳本是動態的,可能會更改服務器上的位置,然後使用相對路徑

路徑信息:

http://en.wikipedia.org/wiki/Path_%28computing%29

http://webdesign.about.com/od/beginningtutorials/a/aa040502a.htm