1

私はスタックインしました!!!

単純なURLリダイレクトスクリプトを使用して、訪問者をウィジェットのダウンロードページにリダイレクトします。これも単純なurlid文字列を使用します。

http://www.example.com/get.php?urlid=blue_widget

残りは通常どおり、ダウンロードランディングページのURLを返すget.phpにリクエストが送信されます。

今問題:

正しいurlidが送信された場合、または空で送信された場合、get.phpは訪問者をメインのインデックスページにリダイレクトします。この問題は、不明な(存在しない)urlidが送信されたときに発生し、ブラウザは次の情報を返します。

ページが適切にリダイレクトされていませんFirefoxは、サーバーがこのアドレスの要求を決して完了しない方法でリダイレクトしていることを検出しました。この問題は、Cookieの受け入れを無効にするか拒否することによって発生する場合があります。

これが私のget.phpファイルの内容です

<?php
$urlid = $_GET['urlid']
if ($urlid == "") {$link = "http://www.example.com/";}
if ($urlid == "blue_widget") {$link = "http://www.example.com/download.php?fileid=blue_widget.doc";}
header ("Location: $link");
exit();
?>

助けてください

4

3 に答える 3

1

あなたはこのようなことをすることができます:

<?php
if (isset($_GET['urlid'])) {
    switch ($_GET['urlid']) {
        case 'blue_widget':
            $link = 'http://www.example.com/download.php?fileid=blue_widget.doc';
            break;
        case 'second_widget':
            $link = 'http://www.example.com/download.php?fileid=second_widget.doc';
            break;
        case 'blabla':
            $link = 'http://www.example.com/download.php?fileid=blabla.doc';
            break;
        default:
            $link = 'http://www.example.com/';
    }
} else
    $link = 'http://www.example.com/';
header("Location: $link");
exit();

お役に立てば幸いです。=)

于 2013-03-03T14:41:55.513 に答える
0

PHP isset関数http://php.net/manual/en/function.isset.phpを使用して、$ _GET['urlid']が設定されているかどうかを確認します。

于 2013-03-03T14:34:52.720 に答える
0

そうすることで、ファイルが存在するかどうかを確認することもできます。

if (file_exists(basename($_GET['urlid']).".doc"))
{$link = "http://www.example.com/download.php?fileid=".$_GET['urlid'].".doc";}
于 2013-03-03T14:50:36.777 に答える