![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
リンクテキストを2回クリックしなければ他のページに移動出来ずにこまっています。
PHPでユーザーのセッションを利用してファイルを分岐させる機能を付けたのですが、何故かリンクテキストを1回クリックしただけでは何も反応せず、2回クリックして初めて他のページにジャンプ出来るという症状が出ています。
どのPC・MACでも同じ症状だとプログラム側に問題があると思えるのですが、何故かユーザーのPCによって1回でジャンプしたり、2回クリックしないとジャンプ出来なかったりと様々です。
WINとMACのIE(6.0、7.0)・FIREFOX・SAFARI・NETSCAPE等で検証したのですが、1つのブラウザで1回クリックで入れるPCは他のブラウザでも1回クリックのみで正常に機能するようです。
逆に、1つのPCのブラウザで入れないと、他のどのブラウザでも入れないようです。
一端、他のページにジャンプしてTOPページに戻ると以降は正常に反応するのですが、クッキーを削除してしまうと、また反応しなくなります。
プログラムは知人に書いてもらったので詳しいことはあまり分からないのですが、分岐する前のページには、
<?php
if($_COOKIE['page']){
header("Location: http://分岐させる先のページ.php");
exit();
}else{setcookie("page","",time()-3600);}
?>
と記述してあり
分岐させる先のページには
<?php
$page = htmlspecialchars($_GET['p']);
if($page){
setcookie("page",$page);
}
if($_COOKIE['page']){
switch($_COOKIE['page']){
case "h":
require_once("ファイル01.php");
break;
case "f":
require_once("ファイル02.php");
break;
}
}
else{
if(!$page) {
header("Location: http://URL");
}
else{
header("Location: http://URL/ファイル03.php");
}
}
?>
と記述してあります。
どなたか原因をご存じの方教えてください(><)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
具体的にどんな動作を期待しているのかちょっと把握できませんので
クッキーのとこだけでも参考になればと思います。
//getがあればgetを、cookieがあればcookieを元に分岐
$page = htmlspecialchars($_GET['p']);
if ($page) {
setcookie("page",$page);
} elseif ($_COOKIE['page']) {
$page = $_COOKIE['page'];
} else {
;// page情報なし
}
switch ($page) {
case 'h':
case 'f':
default:
}
No.1
- 回答日時:
流し読みですが失礼します。
if($page){
setcookie("page",$page);
}
if($_COOKIE['page']){
setcookieしたあとは1度ページを読み込みなおさないと
$_COOKIEにアクセスできなかった気が。
つまり再読み込みしないと分岐しません。
if($_COOKIE['page']){
;
}else{
setcookie("page","",time()-3600);
}
クッキーが空のときクッキーを開放、よく分かりません。
一度作り直してもらった方がよいのでは・・
この回答への補足
ご返答頂きありがとう御座います。
拝見させて頂いたところ、
1回目のクリックは、クッキー情報を保存する為だけに利用され、
2回目以降のクリックで初めて、1回目に取得したクッキー情報を
利用してアクセス可能となる。。。
つまり1回目のクリックでアクセス出来ないのは当たり前、
という理解の仕方で宜しいでしょうか。
私の知識不足で申し訳ないですが、
2回クリックせずに1回で他ページにアクセス出来る方法を
もしご存じでしたらご教授頂けないでしょうか??
宜しくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP phpでcookieがうまく保存されない 2 2023/08/02 16:40
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- ドメイン・サーバー・クラウドサービス 自作サイトをサーバーにアップロードしたのですが… 2 2022/11/08 18:12
- Visual Basic(VBA) VBAでWEBサーバー上に保存されたPDFファイルのリンク有効チェックについて 1 2022/11/11 16:04
- その他(クラウドサービス・オンラインストレージ) firestorage_androidスマホでダウンロードできない 1 2022/10/25 08:18
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リダイレクトでPOST
-
【WordPress】メディアの一覧出力
-
認証が通ったidを元にidテーブ...
-
pukiwikiのrecent(最近の更新...
-
header関数でページ移動する場...
-
DB内のデータを指定した分のみ...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
PHPで新しいウインドウで開く命...
-
別ファイルの変数を呼び出した...
-
バッチを用いたフォルダの自動移動
-
php.ini を設定を変更すると再...
-
form actionで二つ送信先を指定...
-
phpの中でphpを書けないか
-
「@$変数」の「@の意味は?」
-
PHPで、エラーがない場合のみ画...
-
フォームで戻った際に入力済み...
-
Subversionのリポジトリの削除
-
PHP8を使うと、大量のWarningが...
-
VBSの「MsgBox」について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リダイレクトでPOST
-
URLの変わらないページをPHPで...
-
【WordPress】メディアの一覧出力
-
テキストリンクを2回クリックし...
-
URLでスラッシュ区切りでパラメ...
-
【PHP】ブログ記事をお気に入り...
-
会員サイトに自動ログインして...
-
PHPで、データを表示させるとき...
-
php my adminより取り出したデ...
-
LARAVEL モデル
-
レンタル予約管理表を作りたい
-
WordPress 検索結果ページのペ...
-
header関数でページ移動する場...
-
phpinfoでloaded modulesが表示...
-
GETで「?」無しでパラメータの...
-
PHPで検索結果からさらに詳細な...
-
phpでの二重投稿防止について
-
phpとpostgresを利用した検索シ...
-
PHPとSmartyで、ブログサービス...
-
リンク(URL)をクリックした後、...
おすすめ情報