これまで遷移してきたサイト内のURLをHTMLに表示したいと思いましたが、
直前のURLは表示できるものの、2つ以上前のURLを表示する事ができませんでした。
何らかの方法で、アクセス毎にセッションの配列に直前のURLを追記して、
ページ間の遷移の際その情報を保持し続けられれば解決すると思うのですが、
どのようにコーディングすればよいかわかりませんでした。
その為、何らかのアドバイスを頂ける方がいらっしゃいましたら、ご教示の程よろしくお願いします。
【ソース(index1.php, index2.php, index3.php, index4.php, index5.php共通)】
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1ページ目</title>
</head>
<body>
<p>
<?php
if (strlen($_SERVER["HTTP_REFERER"]) != 0) {
echo "リンク元は";
echo $_SERVER["HTTP_REFERER"];
echo "です。";
}
?>
</p>
<p><a href="index1.php">リンク1</a></p>
<p><a href="index2.php">リンク2</a></p>
<p><a href="index3.php">リンク3</a></p>
<p><a href="index4.php">リンク4</a></p>
<p><a href="index5.php">リンク5</a></p>
</body>
</html>
No.1ベストアンサー
- 回答日時:
全てのPHPファイルの先頭に、
<?php
session_start();
if(isset($_SESSION['ref_history'])){
if(is_array($_SESSION['ref_history'])){
$_SESSION['ref_history'][] = $_SERVER['HTTP_REFERER'];
}else{
$_SESSION['ref_history'] = array();
$_SESSION['ref_history'][] = $_SERVER['HTTP_REFERER'];
}
}else{
$_SESSION['ref_histroy'] = array();
$_SESSION['ref_history'][] = $_SERVER['HTTP_REFERER'];
}
?>
と言ったようにすればスーパーグローバル変数$_SESSIONに配列として格納されるかと思います。session_start関数は、必ず何か値の出力(HTMLやecho,printなどを表示する)前に記述します。
他にも単純にCOOKIEに落とす方法などあり、もっとよい方法があるかもしれませんので、一例として、参考まで、とお考えください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP php ログイン 1 2022/11/01 00:24
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP PHPプログラムの間違い 1 2022/10/06 14:33
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XAMPP1.7.1上でPHPを実行すると...
-
これまで遷移してきたサイト内...
-
複数の文字列をファイルに書き...
-
ファイルをアップロードすると...
-
機種依存文字の文字化けについて
-
すみません また宜しくお願い...
-
htmlのエラーについて(デバッグ)
-
文字化けについて
-
日付と年月日を選択するコード...
-
mb_convert_variablesで変換出...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
リンク先を隠す方法はないでし...
-
「@$変数」の「@の意味は?」
-
PHPのif文でその処理を途中で抜...
-
フォームで戻った際に入力済み...
-
form actionで二つ送信先を指定...
-
CFileDialogの最初のディレクト...
-
VBAでJPGサイズ変更
-
Illustratorで文字と画像を流し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのエラーについて(デバッグ)
-
php ログイン
-
文字化けについて
-
日付と年月日を選択するコード...
-
PHP postgreSQL(teraterm)を用...
-
前後の全角スペースを削除する...
-
ここでの ②if($su_d<>"")の比較...
-
複数の文字列をファイルに書き...
-
PHP(smarty)についての質問(文...
-
phpの画面表示が真っ白です
-
機種依存文字の文字化けについて
-
ローカル環境で動くのに本番環...
-
XAMPP1.7.1上でPHPを実行すると...
-
文字コードの出力を変更したい
-
XMLパースエラー回避方法
-
どうしたら確認ができますか!?
-
phpでfopen()やfputs()が使えない
-
ファイルをアップロードすると...
-
zampp PHPでPOSTの変数が返っ...
-
pdf表示
おすすめ情報