htmlボタンをクリックした後にerror.htmlファイルをロードしたいと思います。したがって、私はボタンと対応するクリックイベントを持つウェブサイトを持っています。私が)のfile_get_contents(を経由して私のhtmlファイルをロードする必要がありcheck.phpスクリプトを呼び出すために$アヤックスを使用して、このクリックイベントで
$.ajax(
{
type: "POST",
url: "../../../server/check.php",
data: "login=granted&user=user&site=overview",
success: function(msg)
{
alert(msg);
}
});
。ここでは、複雑なPHP-コードです:
<?php $homepage = file_get_contents('../client/manage/login/error.html'); echo $homepage; ?>
今の問題ではなく、HTMLコードが$アヤックスの呼び出しに返され、error.htmlがロードされていないということです。 check.phpのURLをブラウザに直接入力すると動作します。
htmlファイルを読み込む方法はいくつかありますが、私はこれを正確に行う必要があります。実際には、私はこのPHPスクリプトを介してロードしたいいくつかの他のサイトがあります。
誰かが私にヒントをくれますか?
ありがとうございました。
編集:OK、もう少し具体的にしようとしています。私は正常にログインシステムを実装しました。このシステムは、ユーザー名用とパスワード用の2つのhtml入力フィールドで構成されています。両方ともデータベースに対してチェックされます。どちらも正しい場合、ユーザーは保護されたHTMLサイトにアクセスすることができます。
これで、ユーザーは保護されたサイトのURLをブラウザのアドレスバーに直接入れることはできません。したがって、.htaccessファイルを作成し、mod_rewriteの助けを借りて、保護されたhtmlサイトのすべての要求をcheck.phpにリダイレクトさせました。ここで は.htaccessのだ:
RewriteEngine On
RewriteBase /simulation/client/manage
RewriteRule ^([a-zA-Z]+)\.html$ ../../server/check.php?page=$1 [L]
あなたが見る、すべての保護されたhtmlファイルの管理/ /シミュレーション/クライアントであり、これは、すべての保護されたサイトがでているされているパスであるユーザーは以下のいずれかにリダイレクトしたい場合。それらは、彼がアクセスしたいと思う対応サイトでcheck.phpに送られます。 は、ここでPHPコードです:
if(strcmp($_POST["login"],"granted") == 0)
{
$_SESSION['user'] = $_POST["user"];
}
else if(strcmp($_POST["logout"],"logout") == 0)
{
session_unset();
$_SESSION=array();
}
if(!isset($_SESSION['user']))
{
$homepage = file_get_contents('../client/manage/login/error.html');
echo $homepage;
}
else
{
$homepage = file_get_contents('../client/manage/'.$page.'.html');
echo $homepage;
}
これまでのところ、とても良いです。このcheck.phpでは、セッション変数が設定されているかどうかを確認します。ユーザーは正常にログインした場合にのみ設定され、そうでない場合はerror.htmlがロードされます。 これはすべてうまくいきます。ユーザーが保護されたページの1つのURLをブラウザに入力してログインしていない場合、file_get_contentsはerror.htmlページを読み込み、それ以外の場合は保護されたページの1つが読み込まれます。
唯一の問題は、私が$ .ajax経由でスクリプトを呼び出すと、何もロードされないということです。
あなたは「代わりにHTMLコードが$ .ajax呼び出しに返されます」というHTMLコードは何ですか? –
doctypeとウェブサイトで宣言されているその他すべてのものを含む、ウェブサイトの完全なコード。 – enne87
アラート(msg)は次のように表示します:<!DOCTYPE HTML PUBLIC " - // W3C // DTD HTML 4.01 // EN" "http://www.w3.org/TR/html4/strict.dtd"> \t
\t \t エラー \t – enne87