-1

別のページへのリダイレクトに php コードを使用しましたが、機能しません。途方に暮れています。私を助けてください。コードスニペットを提供しています。

if($row->cnt==1){
    echo "Succes.";
    // header ('Location:HomePage.php); 
    header("Location:http://localhost/library/HomePage.php");
}
4

2 に答える 2

1

成功への呼び出しを介したPHPリダイレクトの場合、header()ページ出力の前に配置する必要があります。つまり、他のheader()、print、またはechoステートメントの前に配置する必要があります。たとえば、これは機能します。

<?php

header("Location: http://someurl.com");
exit;
?>

これはしませんが:

<?php
echo "Some text";
header("Location: http://someurl.com");
exit;
?>

ページにすでに何かを出力している場合は、次のようにJavascriptを介してリダイレクトする必要があります。

<script type="text/javascript">
window.location = "http://someurl.com";
</script>
于 2012-11-05T11:36:56.643 に答える
1

headerディレクティブを使用する前に、既にコンテンツを送信しています。

PHPマニュアルから

header()実際の出力が送信される前に、通常の HTML タグ、ファイル内の空白行、または PHP から を呼び出す必要があることに注意してください。include、またはrequire、関数、または別のファイル アクセス関数を使用してコードを読み取り、header()が呼び出される前に出力されるスペースまたは空行があることは、非常に一般的なエラーです。単一の PHP/HTML ファイルを使用する場合にも、同じ問題が存在します。

echoを使用する前に削除する必要がありheaderます。

大量のファイルを扱っていて、使用する前に出力がないかどうかわからない場合は、 Output Control Functionsheaderを確認してください。

于 2012-11-05T11:34:11.640 に答える