※ ChatGPTを利用し、要約された質問です(原文:スマートフォンで文字列が表示されません)
スマートフォンで文字列が表示されない問題について
このQ&Aのポイント
当方、phpはほぼ初心者です。質問も初めてですが、よろしくお願いいたします。
携帯用に作ったphpのメールフォームのページで、スマートフォンを使用した際、最後に表示されるはずの「完了画面」が表示されません。「完了画面」が表示されずにPC用に作成したサイトのTOPページに飛んでしまいます。
スマートフォンだけなぜ表示されないのか皆目見当がつかず、こちらに質問させていただきました。php及び携帯サイト制作は、ほぼ初心者の為、質問内容に不慣れな点、不足の点がありましたら、併せてご教示ください。
当方、phpはほぼ初心者です。質問も初めてですが、よろしくお願いいたします。
携帯用に作ったphpのメールフォームのページで、スマートフォンを使用した際、最後に表示されるはずの「完了画面」が表示されません。「完了画面」が表示されずにPC用に作成したサイトのTOPページに飛んでしまいます。
完了画面の内容は、下記のような単純なものです。(※実際の文字列はhtmlで数行にわたり構成されています。)
print "文字列";
同様のページは、携帯電話の「docomo」用、「softbank」用、「willcom」用、(そして「Android」用、その他はPCサイトへ)と振り分けられており、携帯電話でページで見ると最後の完了画面は問題なく表示されます。
スマートフォンだけなぜ表示されないのか皆目見当がつかず、こちらに質問させていただきました。
php及び携帯サイト制作は、ほぼ初心者の為、質問内容に不慣れな点、不足の点がありましたら、併せてご教示ください。
お礼
早速のご回答ありがとうございます。 これは私が作ったプログラムではないのですが、私もkmee様と同様の予測をしました。また、他の可能性も考えいろいろ変更を試みましたが、結局PCサイトに送られてしまいました。知識不足で何やら的外れの試みをしているようです。 振り分け部分の記述は下記のようなものです。 //振り分け-------------------------- //$CHKの値 $CHK='38'; //0:Docomo、1:au、2:Softbank、3:ウィルコム、4:L-MODE、5:その他 //「Docomo」 $all = $_SERVER['HTTP_USER_AGENT']; $user_agent= explode("/",$_SERVER['HTTP_USER_AGENT']); if($user_agent[0] == "DoCoMo"){ CHK = '0' ; } ~~1から4省略します~~ //--Android if(strpos(all,"Android")){ $CHK = '11' ; } //その他のユーザーエージェントはPC用とする if($CHK =='38'){ $CHK='5'; } //振り分け完了-------------------------------- ~~ここからエラー表示される場合の記述がありますが省略~~ //その他(PC版とか)の場合は、PCサイトにリダイレクト if($CHK == "5"){ $head = "Location:http://www.~省略~/~; header($head); } ~~その後、メールフォームの記述が始まり、最後に「完了画面」のprintn記述が入ります~~ 以上のような感じでメールフォームに入力し、入力チェックをし、確認画面で送信完了、メールの受け取りもOK、入力者へのメール返信もOK、しかし最後の「完了画面」だけが表示されず、PCサイトに飛びます。 「PCサイトにリダイレクトする」場合の記述部分をコメントアウトしても無理でした。「判定方法」のどこかに問題があるとすればそれはどこなのでしょうか。それとも何か別の問題でしょうか。 長くなってすみません。ご回答いただけると助かります。
補足
下記にミスタイプありましたので、訂正します。 ~~その後、メールフォームの記述が始まり、最後に「完了画面」のprintn記述が入ります~~ printn →訂正 print です。