• 締切済み

setcookie に失敗した場合(PHP)

PHP 4.3.11 を使っています。 Aのページから渡ってきたデータをBのページで setcookie で保存しようとしています。 セットする文字列(5000バイトくらい)が長かった場合に IE(6.0)とFirefox(1.5)と挙動が異なるのです。 ・IE→ 文字列を上限までセットしBのページを表示 ・Firefox→ Bのページにリクエストを投げるものの、Aのページがそのまま出た状態(ステータスがすぐに「完了」となる) 最低限、Firefox でも、Bのページを出すようにしたいのですが、 setcookie に失敗した場合にBのページが表示されないのはFirefoxの仕様なのでしょうか? どうぞよろしくお願いいたします。。。

みんなの回答

回答No.1

そもそもcookieに保存できるのは4096byteですよ。 phpならば、$_SESSIONを使いましょう。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • CSS:ボックス内でaタグのリンク文字列を折り返したい。

    お世話になっております。 grandswellと申します。 div指定したボックス内に <a>でボックスの横幅を超える 長いリンク文字列を設定すると IE: <a>リンク文字列がボックス内に収まるよう ボックスが横に拡張される。 Firefox: <a>リンク文字列はボックスからはみ出る。 といったように両者挙動が違います。 これによりIE側の画面全体レイアウトが 崩れてしまい困っています。 下記設定ができる方法をご教示ください。 ------ IE、Firefoxとも <a>のリンク文字列をボックス内で折り返す。 もしくは IEで <a>リンク文字列はボックスからはみ出る。 ------

    • 締切済み
    • CSS
  • phpのsetcookie()関数について 初心者なんですがわからない点があるのご返答お願いします。

    yahoo知恵袋で質問して回答も貰ったんですが その後に確認したいことがあったのですがあちらで質問の補足は200文字までという制限があったのでこちらで質問させてもらっています。 あちらでした質問が ////////////////////////////////ここからyahooでした質問///// phpの勉強をしている初心者のものですが、私の参考にしている本のsampleコードで わからない点があります。 phpの勉強をしている初心者のものですが、私の参考にしている本のsampleコードで わからない点があります。 <?php setcookie("count", true); ?> <html> <head> <title>sample<title> <body> <h2>店内のご案内</h2> <hr> <?php if(!isset($_COOKIE["count"])){ print "はじめてのおこしですね。<br />\n"; } else{ print "毎度ありがとうございます。<br />\n"; } ?> </body> </html> というコードなんですが一回目のアクセスの時にはif文のtrueが実行されて「はじめておこしですね」と 表示されて二回目以降は「毎度ありがとうございます」と表示されると本には書いているのですが 私にはsetcookieの部分で$_COOKIE["count"]にはtrueという値が与えられているからif文の条件である $_COOKIE["count"]に値がないというのはfalseでelseの文の処理がされて「毎度ありがとうございます」 と表示されるか $_COOKIE["count"]の値がtureなのでif文条件式全体がtureになり、「はじめてのおこしですね。」が 表示されるが二回目以降もその表示がされていくか のどちらかになると思うのですが、どのように考えればよいのか教えてください。 ///////////////////////ここまでyahooでした質問です。////////// と質問しそれに回答者が //////////////////////回答者が答えてくれた返答//////////////// クッキーは、ブラウザに記録され、ページにアクセスするときに自分のクッキーをサーバに渡します。 SetCookieの段階では、このクッキーはまだ有効ではありません。 SetCookie()関数はSet-Cookie:ではじまるHTTPヘッダを作ってブラウザに渡すべきクッキーを書き出すだけなのです。 順番としては、 ブラウザがページを読み出す→サーバはクッキーを添えて文書をブラウザに渡す→ブラウザはクッキーを受け取って記録する→ ブラウザが先程受け取ったクッキーを添えてページを読み出す→サーバは受け取ったクッキーがあるのでif(!isset($_COOKIE["count"]))がfalseになり「毎度ありがとうございます。」と表示する。 /////////////////////ここまで回答者の返答/////////////// と答えてくださったんですがその後に聞きたいことがあったのですが 上で書いたとおり制限があったので質問できなかったのでその質問を ここから下に書くのでよければご返答お願いします。 /////////////////////ここから答えてもらいたい質問////////// 自分なりに教えてもらったことを解釈してみたんですが、 一度目のアクセスでは、まずブラウザがページをサーバーに要求しそれに対してサーバーがページとクッキーを渡すが、 このときのブラウザに渡すページは、ブラウザからはクッキーをもらっていないのでクッキーの処理がしていないページになる。 なので一回目のif(!isse($_COOKIE["count"]))は$_COOKIEの値を定義されたページは貰っておらず値がないのでtrueとなり 一回目はサーバーからクッキー受け取ったクッキーを記録するだけにとどまる。 そして二度目のアクセスでは、ページの要求と一度目のアクセスで受け取ったクッキーをサーバーに渡すので、 サーバーは今回はクッキーの処理をしたページをブラウザに渡すのでif(!isset($_COOKIE["count"]))は$_COOKIEの値を定義されたページを貰っているのでflaseとなり 「毎度ありがとうございます」と表示される。 このようにわたしなりに解釈したんですがこのように考えてもよいでしょうか? もしよろしければ見づらい文なんですがお返事お願いします。

    • ベストアンサー
    • PHP
  • PHP4 setcookie関数でIE6上でCookieが発行されない

    お世話になっております。 件名の通りですが、(クライアント)Netscape7.1やOpera上では正常にCookieが発行されて、Cookieにより条件分岐処理が行えるのですが、IE上ではそれが出来ません。 以下のような設定でCookieを発行しようとしています。 (サーバー) setcookie("user_test_id",$row->user_id,time()+60*60*24*60,"/test_folder/") ; ※$row->user_idとはMysqlに登録されている文字列を取得しています 構築環境は下記の通りです。 (サーバー) WindowsXP上でapache_2.0.55、php-4.4.2 ※PHPは正常に動作中(他のスクリプトは問題ありません) 同じ様にLocalhostにAnhttpd1.4[Webサーバー]とPHP4で上記と同じシステムを構築した場合、IEでも正常にCookieが発行されます。ということは、Apacheの設定に不備があるのでは?っとにらんでいるのですが、具体的にどこをいじれば良いのか分かりません。 原因究明に繋がるヒント(回答)をご存知の方、どうかご教授お願い致します。よろしくお願い致します。

    • 締切済み
    • PHP
  • CSSでレイアウト divで囲んだ枠にtableを入れるとブラウザによって表示が異なる

    お世話様です。 CSSでレイアウトしたウェブサイトを作成中です。 簡単に書くと・・・ <div id="style_a"> 文字列A <table> <tr><td></td></tr> </table> 文字列B </div> IEでは、style_aがテーブル後の文字列Bにも反映されるのですが、 FirefoxとOperaでは、テーブルの前の部分でstyle_aが無効になりテーブルと文字列Bはデフォルトに戻ってしまいます。 このような場合、どのように設定すればいいのでしょうか? ちなみに間のテーブルはレイアウトとしてではなくデータを表として表示したいので使っています。 どうか教えてください。

    • ベストアンサー
    • CSS
  • エクセルで特定の文字が含まれている場合の合計の出し方について

    A列とB列に文字が入力されていて、C列に数字が入っています。 A列もしくはB列に「電話」という文字が含まれている場合、D列に「通信費」と表示させるにはどのようにすればよいでしょうか。 それと同時にA,B列に「業務委託」という文字が含まれている場合はD列に「手数料」と表示させたいです。 ちなみにA列B列には、「電話」や「業務委託」以外の文字も入力されています。 また、最終的には「通信費」の合計、「手数料」の合計を出したいと思っています。 何段階か踏む必要があるかもしれないのですが、どのようにすればよいでしょうか。よろしくお願いします。

  • PHP5で exit; や exit();と引数なしの場合、停止するの

    PHP5で exit; や exit();と引数なしの場合、停止するのはわかりますがその他の振る舞いはどうなるのでしょうか? ネットで調べましたが引数なしの振る舞いは見つけられませんでした。 数値なら終了ステータスを返して停止 文字列なら表示して停止 引数なしなら??? あと、ネットで検索して思ったのですが、体裁は異なるが同じような内容のマニュアル解説がありますが、これは他のページを真似たものでしょうか? 解説が同じで、前に見たページといつも思います。

    • ベストアンサー
    • PHP
  • FireFoxで数式などが表示されず文字列になってしまいます

    【以前同様の質問をしましたが解決したと勘違いしており、実際は 解決していなかったので、再度の質問となります。】 ブラウザはFireFoxを使っています。IE7やLunascapeではちゃんと 表示されるページが、FireFoxだと表示されません。まれに、一部のみ ちゃんと表示されることがあります。解決方法はあるのでしょうか? 具体的には、wikipediaのページで、”万有引力”を検索すると、 http://ja.wikipedia.org/wiki/%E4%B8%87%E6%9C%89%E5%BC%95%E5%8A%9B& 上記のページが出てきますが、その中で F=GMm/d^2 という式が png画像で通常表示されるべきですが、FireFoxでは F= G \frac{M m}{d^2} と文字列で表示されてしまいます。ブラウザはFireFoxを使い続けたい と考えています。助言よろしくお願いします。

  • ホームページビルダーで閉じるボタン(リンク)の方法

    初めて質問します。 ホームページビルダーを使用しています。 リンクの貼り方について教えていただきたいのですが。 例えば下記のような場合はどのようにすればよいのでしょうか? (1)ページAの、ある文字列にページBへのリンクを貼ります。 (2)新しいウィンドウでページBが開くようにします。 (3)ページBには閉じるという文字列を記載し、そこをクリックすると、  新しいウィンドウで開いたページBが閉じて、ページAが表示される。 (1)~(2)はできたのですが、(3)の方法がどうしてもわかりません。 どなたか詳しい方ご教授宜しくお願いします。

  • ブラウザ上に特定の文字列を発見したら警告が欲しい

    ブラウザで次々とページを表示させていて、 ブラウザ上に、事前に指定しておいた特定の文字列を発見したら、 目立つ警告を出せるようにすることは出来るでしょうか? マーカーでもアラートでも良いです。 (出来ればアラートで) IE7を使用しています。 極力このままで。変更でも構いません。 firefoxのプラグインも試しましたが、 既に表示されているページから対象を探すことは出来るものの、 事前に指定しておいた文字列を表示したばかりのページで 表示と同時に警告とは行きませんでした。 どうか宜しくお願いします。

  • 同じ文字列が3個以上ある場合に「3個以上」と表示するには?

    A列にある文字列の中で同じ文字列が3個以上ある場合に「3個以上」と表示するにはどうしたらよろしいでしょうか。 A列     B列  1B0T5  3個以上 2GhY    1B0T5  3個以上  1B0T5  3個以上 JYtgH   1B0T5  3個以上

【MFCL9570CDWE】の出力について
このQ&Aのポイント
  • MFCL9570CDWEの出力について相談したい事例として、印刷される文字の背景がグレーでスミっぽくなってしまう問題が発生しています。改善方法を教えてください。
  • MFCL9570CDWEの出力に問題があり、印刷される文字の背景がグレーでスミっぽくなってしまう事例について、改善方法をお教えください。
  • MFCL9570CDWEの出力に関するお困り事例として、印刷される文字の背景がグレーでスミっぽくなってしまう問題が発生しています。どうすれば改善できるでしょうか?
回答を見る