![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
携帯サイト用のセッションでdocomoの時だけ思うように
フォームによるページ遷移ができません。
色々試してみたのですが、サッパリです。
どなたかお知恵をお貸し下さい。
例)
-- page01.php --
session_name( "test" );
session_start();
session_regenerate_id(true);
$test = session_name()."=".session_id();
if ( ( $smp01 = auth() ) == FALSE ) {
header( "Location: ./test.php?redirect=index_test.php?" );
exit;
}←ログイン時の処理(ユーザー定義関数にて)
・
・
・
・
<form action="page02.php?<?= $test ?>" method="get" />
入力:<input name="test01" type="text" value="" />
<input name="smp02" type="submit" value="next" >
</form>
↑入力させてpage02.phpにて処理
上記のようにしているのですが、
submitするとログイン時の処理に掛かってセッションが切れてしまい
ログインページに戻ってしまいます。
ログイン時の処理を削除するとpage02.phpへと遷移します。
ログイン時の処理を残したままセッションが切れずにフォームによる
ページ遷移ができるようにするにはどのようにすれば良いのでしょうか?
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
#1です。
1)getのみの機種については、知りませんでした。
いつもpostしか使っていないもので。
2)getにしてhiddenで渡してもダメですか?hiddenを一番上にするとか。
今回の場合get/postが問題じゃない気がしますが、旧機種のためにgetにして困っているのであれば、まずpostで作ってよいのではないでしょうか。携帯は旧機種対応に時間を割くより、新機種対応の方が大変だと思うので。
この回答への補足
じゃ、postでも問題ないんですね~。
2)の方法もやってみましたがダメでした。
>旧機種のためにgetにして困っているのであれば、・・・
はい、そうします。
ありがとうございました。
No.2
- 回答日時:
ドコモだけというのが引っかかりますね。
私がやっていてドコモだけでセッションが切れるのは以下の二つくらいです。
1.実はuidをもらってる
実はuidをもらわないとダメな作りになっているが、uid=NULLGWDOCOMO(もしくはguid=ON)を忘れている。他のキャリアは常にuid的なものを送ってくれてるので問題ない。
2.実はWebサーバが二台でバランスしている
ドコモは特別リモートIPが変わりやすい(原理的には他のキャリアもたまに変わってる)ので、Webサーバが二台構成の場合には、アクセスの旅に別のWebサーバからアクセスしている可能性があります。その際にセッションファイルをWebサーバのtmpに置かれていると、さっきまでのセッションファイルがないのでセッション切れになります。
対処方法としては、a)一台構成ですます、b)memcachedとかにセッションデータを置いて複数のWebからアクセスする、c)nfsサーバをtmpディレクトリにini_setする。
などなど。
No.1
- 回答日時:
method=post にして、hiddenに書いてみたらどうでしょう?
<input type="hidden" name="<?=session_name()?>" value="<?=session_id()?>">
この回答への補足
kaze2com様
アドバイスをいただきまして、有難うございます。
アドバイスの通り、methodの変更とhiddenを利用することにより、
全てが上手く動作するようになりました。
ご経験者ということなので、付随したことでご教授願います。
Q1.
postが使えない機種とはどの程度前までのことなのでしょうか?
※噂ではpostの利用できない機種があると聞きまして、何とかgetメソッドだけで構築していたのですが、getメソッドだけだとデータの受け渡しにかなり制限があって困っていました。
Q2.
getメソッドだけで構築することは、現実的には困難若しくは無理なことなのでしょうか。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP php ログイン 1 2022/11/01 00:24
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セッション ID とセッション名...
-
URLのパラメータをGETのままで...
-
ログアウトを実行してもログア...
-
一意なページを作るには
-
PHPのセッションについて
-
Dosブロンプトでtabを出力したい
-
DTOとEntityの差は何ですか。
-
wordの差し込み印刷で文字...
-
【C#】DataGridViewの最大列数...
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
phpでcookieがうまく保存されない
-
excel access連携 このテーブル...
-
WordでExcelデータを差込...
-
switch()文で値の大小比較
-
「取得先」という表現について
-
findstrのerrorlevel
-
php mysql SELECT文でテーブル...
-
syntax error, unexpected 'ech...
-
format関数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
URLのパラメータをGETのままで...
-
PHPのセッション有効期限について
-
セッション変数にパスワードを...
-
複数のサーバで運営する場合の...
-
ログインしたら他からログイン...
-
ブラウザを閉じた後もセッショ...
-
セッションを維持したまま、サ...
-
PHP SESSION変数を複数使用でき...
-
session_start()で生成されるセ...
-
HTTPヘッダー内での順番などに...
-
「ログイン機能を持たせる」説...
-
session_regenerate_id
-
Sessionの上限について
-
初歩的な質問 セッション管理に...
-
$_SESSIONと、POSTやGETの違い
-
ログイン画面をはさんだ後、自...
-
セッション変数の命名規則
-
複数ページでセッションを使わ...
-
セッション ID とセッション名...
-
セッションのスコープ(有効範...
おすすめ情報