2017-12-01 4 views
0

JSなしでログインセッションを長くする方法(HTML + CSSのみのブラウザとNoScriptのブラウザ)。リンクをクリックすると延長されます。JSなしのログインセッションを長くする

JSおよびJQueryソリューションはありません。サイトをリロードせずにフォームデータを失うソリューションのみ。

+0

クッキーを書くには、クライアント側でjavascriptが必要です。 – loretoparisi

+0

JSなしで、新しいタブなしで、現在のタブを再読み込みせずに自動的にGETまたはPOSTリクエストを送信したい。 ReguestにはCookieデータがあります。 **ログインしない(クッキーを作成する)**セッションを長くする。 – 18C

+0

なぜ私はこの質問に-1を得ましたか? – 18C

答えて

0

これは、PHPの一部のためのコースの非常に基本的な例です。

<?php 
    session_start(); 
    if (isset($_SESSION['token'])) { 
    $_SESSION['token'] = $_SESSION['token']; 
    } 
?> 

は、あなたのページにあなたはそれが5分/ 300秒ですので、時間が秒単位で表され

<meta http-equiv="refresh" content="300; url=/refresh.php"> 

を置きます。フォームデータを行う場合は、クッキーの中にフォームデータを保存するために、あなたは

$(".esc-policy a").on('click',function(){ 
    var name = $("#nameInput").val(), 
    description = $("#descriptionInput").val(); 
    $.cookie('name',name); 
    $.cookie('description',description); 
}); 

など

行うことができます - その時点で、あなたはより多くの制御とのセッションをリフレッシュするためにJavaScriptを使用することができます。

setInterval(function() { 
    $.post('/refresh.php'); 
}, 1000 * 60 * 5); 

ここで、時間はミリ秒で表されます。

+0

しかし、リフレッシュに問題があります。フォームデータが自動的に失われる可能性があります。その場合は、フォームデータをjavascriptでクッキーにシリアル化する必要があります。 – 18C

+0

そうすることで、meta http-equivは必要ありませんが、javascript ajaxを使用して最新のページへの投稿を行う方が良いです... – loretoparisi

+0

JSなし...私はJSを使用しませんに。無効にされたスクリプトを持つブラウザでもアクセシビリティ。 – 18C

0

解決策が見つかりました。 <a href="..." target="__myIframeName__">...</a> GETが送信され、サイトはリロードされません。私は一般的にフレームを使用しませんが、おそらくそれが必要です。

関連する問題