いらっしゃいませ。私は joomla 2.5.8 & 美徳 2.0.16 を使用しています。問題はすべてのテンプレートに存在します。ブラウザーを移動すると、safari と chrome がログアウト後にフォームからのデータを保持していることがわかりました。つまり、ログインして買い物客のデータを確認および変更しています。 Firefox と Opera ではデータが保持されないといういくつかの変更がありますが、それについては後で説明します)。ログアウト後、[戻る] ボタンを 1 回、2 回クリックすると、データが戻ってきます (保存するのではなく、住所、電話などを表示するためだけに保存する必要があります)。
私はphpとjavascriptがあまり得意ではありません。ユーザーとゲストのセッションは2つの異なるセッションであることがわかりました(私の場合、ビューのゲストと編集と保存のユーザー)。そのため、ユーザーがゲストをログアウトしているときに、ログインしているユーザーを以前に読み取ることができます。クロムとサファリ(復元されたデータを含むフォーム)でctrl + rを押すと、データが消えることを確認します(フォームは再び表示されますが、データはありません-そして、他のすべての試行、保存、キャンセルなどは登録時に終了しますまたはログインページ)。この効果を得るために、 autentyfikacja.php を作成します:
<?php /*Funkcja sprawdzająca autentycznosc użytkownika, gość - user*/ ?>
<?php
if(!function_exists('CheckState'))
{
function CheckState()
{
$uzytkownik=&JFactory::getUser();
if(!$uzytkownik->guest) return true;
else return false;
}
}
?>
この値でいくつかのファイルに含めます
include 'autentyfikacja.php';
$zarejestruj=JRoute::_('index.php?option=com_users&view=login', $this->useXHTML, $this->useSSL);
if (!CheckState())
{
//wywal niezarejestrowanego na strone rejestracji
JRequest::checkToken('post') or die( header("location: $zarejestruj") );
exit; //this one I even don't know if it's needed and why in some casses but it works:)
} else
その後、Firefox、Opera、および Internet Explorer が動作するようになりましたが、Chrome と Safari はまだ動作しません。なぜ?
セッションでクロムのクッキーを削除した後(すべてのmydomainクッキー)、つまりインターネットエクスプローラーのように機能することがわかりましたが、パブリック関数destroy()でsession.phpファイルを実行する必要があります(と思います)
問題を説明する映画を 9 分間掲載します。それは広告ではありません。これは私の最初の映画ですが、洗練されたコメントが付いています (英語が必要な場合は、次に記録します :) - それは彼があきらめた私の友人のためでした)
私の仮定は、ログアウトとログアウトのみで両方のセッションを強制終了して新しいものにすることです! (ゲストとユーザー - ユーザーの場合はログアウト、ゲストの場合は ctrl+r のように有効になりますが、ログアウトの場合のみ)。方法と場所??? session.php で? またはtemplteとは異なるファイルですか?
自分で作成した autentyfikacja.php の方が優れています :) 。
どんなアイデアでもいいのですが、私もあきらめ始めています。週後。
あなた自身でそれを見るには、login: demo と pass: demo site esteart.eu があります。
ログイン後にユーザーと同じゲストトークンを設定できますか? どうやって?