1

私は、会社のWebサイトで特定のタグを検索して、それらがライブであり、Googleアナリティクスを使用していることを確認するために、Webクローラーを開発しました。ただし、私の会社には100近くのWebサイトがあるため、実際のクロールプロセスは文字通りクロールです。そこで、ユーザーがいずれかの会社のWebアドレスを入力し、その1つのWebサイトのみをクロールするフォームを作成したかったのです。私はフォームが苦手なので、基本的にフォームに実行させたいのは、ユーザーが入力したURLを保存してから、別のページにリダイレクトして、URLがクローラーに渡されて結果が表示されるようにすることです。これが基本的にこれまでのところですが、別のページにリダイレクトしてURL変数を保存するのに問題があり、持っているクローラーコードに渡すことができます。

<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ファイルを作成するときに、submitを押すと、現在のスラッグ(../crawler-2/submitcrawler.phpではなく../crawler-2/submitcrawler.php)に移動します。 ./submitcrawler.php)なので、404エラーが発生します

4

5 に答える 5

1

フォームは、表示しているファイルと同じフォルダー内の「submitcrawler.php」に送信されているため、/ crawler-2 /にある場合は、その場所に表示されます。

上記のディレクトリに昇格する場合は../を使用します。おそらく、/を使用して、Webルート(apache / Webサーバーで表示可能な最上位ディレクトリ)からファイルへのパスを入力します。

それで

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

また

<form action="/submitcrawler.php">
于 2012-07-25T16:20:44.757 に答える
1

探している機能については、を使用してみてくださいmethod="GET"。そうすれば、URLで他のPHPスクリプトに渡されている情報を確認できます。

次に、他のPHPスクリプトの情報を取得します。

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

form属性に関しては、スクリプトが両方とも静的である場合は絶対パスactionを使用する必要があります。そうでない場合、スクリプトが動的でサーバー上の場所を変更する可能性がある場合は、相対パスを使用します。

パス情報:

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

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

于 2012-07-25T16:28:52.040 に答える
0

あなたが話しているファイルがクローラー-2ディレクトリの下にある場合、相対パスを使用しない限り、フォームはそのファイルに送信されます../submitcrawler.php

于 2012-07-25T16:18:53.040 に答える
0

そのフォームに設定したアクションにより、現在のスクリプトと同じディレクトリにあるsubmitcrawler.phpに送信されます。アクションを../submitcrawler.phpに変更するか、スクリプトの絶対URL(http://mydomain.me/submitcrawler.php)に設定してみてください。

于 2012-07-25T16:19:01.480 に答える
0

アクション後の値に相対パスを使用しました。たとえば、クローラースクリプトがWebルートにある場合は、action ="/submitcrawler.php"を使用する必要があります。そうでない場合は、action = "/ path / to/submitcrawler.php"のようなことを行うことができます

于 2012-07-25T16:19:52.453 に答える