私はPHPを使いません。ボタンをクリックすると、インデックスページにボタンがあり、自分のコンテンツを含むDIVを表示するようにページ2がトリガーされます2ページ目にリダイレクトせずにインデックスページに残り、2ページ目のDIVはボタンがクリックされていないと非表示になります。別のページにdivを表示するインデックスページボタントリガー
私はこれを達成する方法はありますか?
私はPHPを使いません。ボタンをクリックすると、インデックスページにボタンがあり、自分のコンテンツを含むDIVを表示するようにページ2がトリガーされます2ページ目にリダイレクトせずにインデックスページに残り、2ページ目のDIVはボタンがクリックされていないと非表示になります。別のページにdivを表示するインデックスページボタントリガー
私はこれを達成する方法はありますか?
あなたは本当にただのために行く、あなたの悪い考えの後ろに立っている場合:
^
if(isset($_POST['submit'])) {
echo "<div>My hidden content</div>"
}
これは二次ページになります^
<form action="page2.php" method="post">
<button name="submit">Submit</button>
</form>
これはあなたのインデックスページになります前にも言及したように、それを行うためにJavaScriptを使用する方が良い方法です。ページを更新せずに投稿リクエストを呼び出します。または、クライアントとサーバー間のオープン接続を希望する場合は、node.js(サーバー側のJavaScript)を使用してください。
ボタンをクリックして最初のページに留まり、JavaScriptを使用しない場合は、あなたはそれをこのようにすることもできます。しかし、それは2回リダイレクトされるので、ちょっと...効率的でクライアントフレンドリーではありません。
あなたの2番目のページ:
if(isset($_POST['submit'])) {
setcookie("CLICKED",'ThisValueDoesntMatter',time()+31556926 ,'/');
header("HTTP/1.1 301 Moved Permanently");
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
if(isset($_COOKIE['CLICKED'])) {
echo "<div>My hidden content</div>"
}
ボタンが認証でいくつかのページにすることになっている場合にも安全ではありません。 インデックスページは同じままです。 注:Cookieの有効期間は1年です。
こんにちはmartin、私はあなたのソリューションを試していますが、私は私のインデックスページにボタンをクリックした後に残っているように、そこにアーカイブする方法はありますか? – Kenneth
JavaScript経由でPOSTリクエストを行うことは可能です。これはあなたを助けることができます[リンク](https://stackoverflow.com/questions/9713058/send-post-data-using-xmlhttprequest)しかし、あなたが最初のページに残って、2番目のページに乗った後よりも、 divは表示されませんでした。あなたには2つの選択肢があります。ボタンをクリックすると、セッションを作成することも、クライアント側のクッキーを作成することもできます。ブラウザにクッキーがある場合は、サーバーにデータを送信し、サーバーは以前にボタンをクリックしたことを検出し、divを表示します。 –
AJAXとJavaScript。行くと征服! – ceejayoz
多分WebSocketsですか?これにより、サーバーからクライアントにメッセージを送信できます。私は本当に言うことができません、あなたの質問は非常に明確ではありません。 –
いくつかのコードリファレンスで説明してください。 – Ali