![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
PHP初心者です。
質問内容や表現に過不足がありましたら、申し訳ございませんが、ご指摘下さい。
PHP4を利用し、携帯で閲覧可能なサイトを作ろうとしています。
a.phpからform上のボタンをクリックするとb.phpを呼ぶというプログラムを作りました。
PCでは動作しているのに、実機(i-modo)で確認するとどうしてもb.phpに移動してくれません。
どうやら$_SESSION関数に入れているデータが携帯の場合には消えてしまっているようなのです。
ソースは次のように組んでいて、途中、echoで表示して確認したところ、PCでは「1」と表示されるのに携帯では「」と何も表示されません。
次行のIF文にひっかかって、a.phpに戻ってしまっているようです。
最近の携帯では$_SESSION関数を利用できる、という話も見かけたのですが、使わずに作った方がよいのでしょうか?
回避策をご存知の方、ご教授頂けると助かります。
//------↓以下ソース例示------
a.php
<?php
・・・・・・・・
session_cache_limiter('nocache');
session_start();
$_SESSION['c_flg'] = 1;
・・・・・・・・
<FORM action="b.php?SID" method="POST">
・・・・・・・・
?>
b.php
<?php
・・・・・・・・
session_start();
echo $_SESSION['c_flg'] ; //←ここで携帯の場合何も表示されない
if ($_SESSION['c_flg'] != 1 ){
header("Location: http://" . $_SERVER["S"].dirname($_SERVER["R"]) . "/a.php/");
// ↑↑b.phpを直接呼ぶと必ずa.phpが表示されるようにしたい。↑↑
exit;
}
・・・・・・・・
?>
No.1ベストアンサー
- 回答日時:
<FORM action="b.php?SID" method="POST">
この部分が前後が省略されているのでどうやって表示しているのかわかりませんが
<FORM action="b.php?<? echo SID ?>" method="POST">
あるいは
echo '<FORM action="b.php?'.SID.'>" method="POST">';
みたいな感じにしたらどうでしょう
この回答への補足
ご返答ありがとうございます。すみません。アップミスがありました。
・・・・・・・・
?>
<FORM action="b.php?SID" method="POST">
・・・・・・・・
です。
FORM文はHTMLの記述です。
ご回答頂いて、SIDをそのままHTMLにコーディングしていることが間違いなのだと気づきました。
修正したところ、今回の質問部分はクリアすることができました。
その後今度は、<a href= で呼ぶ場合でコケてしまい、四苦八苦していますが、なんとか自己解決致しました。
助かりました。ありがとう存じます。
No.2
- 回答日時:
まず、携帯ではcookieが使えないものが多いのでsession.use_only_cookies がONになっているとセッションは使えないと思って下さい。
この設定を確認して下さい。これがOFFでsession.use_trans_sidがONになっていれば、cookieが使えない場合自動的にURLにセッションIDが付加されます。とりあえずお使いのサーバーのこれらの設定、それとcookieが使えない携帯でしたら、URLにセッションIDが付加されるかを確認して下さい。
この回答への補足
carrollさまのアドバイスにより、SIDの使い方が間違っていることに気づいたことと、
「<a href=」から次のソースに飛ぶ場合には
&PHPSESSID=". $PHPSESSID
を使えばどうやら動くようだということが分かりました。
同じようなことで手が止まってしまった方の為に記載しておきます。
ご回答ありがとうございます。
サーバーの環境は私の立場では触ることができないので、このままで何とかしたいと考えています。
お時間を下さり、ありがとうございました。
また何かありましたら、よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHP ページング データベース 1 2022/06/16 10:30
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
暦について
-
検索エンジンへの反映
-
複数のファイルで同じ定数を定...
-
カテゴリ別に振り分け
-
<A HREF="bg.php" target="_bl...
-
.htaccessのURL書き換えができ...
-
PHPINFOが見えない
-
3人の旅人が
-
PEAR(Image_QRCode)のエラー
-
★いきなり黄金伝説★
-
香川のうどん
-
debian(Sarge)にPHP5
-
sendmail_fromについて(xampp)
-
セッションについての設定なの...
-
firefoxとOperaのデフォルトス...
-
pear_info.phpも表示できません
-
PHPのバージョンアップに関して
-
phpとmod_phpについて
-
Apache2が起動しなくなった!!
-
php5対応のレンタルサーバ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.htaccessにphp_valueが使用できな
-
<A href ~ と一緒に値を渡すには
-
フォームで戻った際に入力済み...
-
HYのAM11:00のラップの部分の歌...
-
phpの中でphpを書けないか
-
require_once()でファイルが読...
-
PHPからMSSQLへの接続結果の文...
-
PHPINFOが見えない
-
<大至急!>ご教授願います。
-
テキストエリアの内容がメール...
-
Apache 2.4.0でphp5.3を使うには?
-
メレンゲの歴史
-
*.php、*.php3、*.phtmlの違い
-
これの対応OSを教えて下さい。p...
-
PHPで別PHPを呼び出す。
-
header(Location:~)で$_SESS...
-
PHP PDOライブラリが読み込まれ...
-
apache・phpが起動しない・・・
-
iframeで読み込んだ別のphpファ...
-
服にかいた油性ペンがにじまな...
おすすめ情報