ぶっとびねっとでPHP+MYSQLの動作がおかしい

このQ&Aのポイント
  • 今年(2012年)に入ってから、ぶっとびねっとを利用している際に、PHP+MYSQLを利用したページの動作がおかしくなっています。
  • セッション情報に格納した値が別のページに移動すると保持されていない状況になっています。
  • phpMyAdminにもログインできない状況です。同様の状況になっている方にアドバイスを求めています。
回答を見る
  • ベストアンサー

ぶっとびねっとでPHP+MYSQLがおかしい

ぶっとびねっとを数年前から利用しているのですが、今年(2012年)に入ってから PHP+MYSQLを利用したページの動作がおかしくなりました。 調べてみると、セッション情報(例:$_SESSION["test"]など)に格納した値が、別のページに移動すると何も保持されていない状況になっていました。 去年までは問題なく動作しており、ローカルで用意している環境でも動作します。 また、phpMyAdminにもログインできない(これもIDやパスワードなどセッション情報が保持されないため?)状況になっています。 ぶっとびねっとを利用されている方で、同様の状況になられている方いらっしゃいませんか? ぶっとびねっとに状況を報告しているのですが、無料サービスのため何も回答がありません・・・。 独自で解決された方などいらっしゃいましたら、アドバイスください。 お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • smcss
  • ベストアンサー率63% (7/11)
回答No.1

セッションの保存先を自分のディレクトリに変えてみて、動作するか試してみてください。 php.ini や .htaccess が使えるなら、session.save_path を設定するか 無理なら php コードの最初に session_save_path('ディレクトリ') を追記します。 ディレクトリのパーミッションは707など書き込み許可にしておきます。 セッションの保存先は phpinfo() で確認できます。

sakurandy
質問者

お礼

smcssさん、ありがとうございます。 session_save_pathで独自のフォルダーをセッション保存先(パーミッション707)にすることで、うまくいきました。 勉強になりました、ありがとうございます。

関連するQ&A

  • phpとmysqlでログインページの作成

    phpとmysqlを使いMAMPでログインページの作成をしようと考えています。 idやpasswordなどはもうsqlに格納されている状態を想定しています。 そこで手順を知りたいのですがこれであっているでしょうか? dbに接続してidやpasswordなどをdbから引っ張ってきて取得する。 if文でsql上のidなどとログインページに入力した情報があっているかで条件わけをする。 合っていなければエラーメッセージを返す。合っていれば次のメイン画面に飛ばす。 初歩的な質問で恥ずかしいのですがdbの情報を取得するときは「mysql_fetch_assoc」関数でいいのでしょうか。 また、ログインページのサンプルを調べているとCookie版とSession版がありますがこの違いはCookieが一定時間情報を保持するのに対してSessionはブラウザなどを閉じるとリセットという解釈で間違いないでしょうか。 文がぐちゃぐちゃで申し訳ないのですが、お暇な時にでも回答お願い致します。

    • 締切済み
    • PHP
  • PHPのMySQL接続について

    Mysqlの超初心者なので質問に不備などがございましたらすみません。 次のサイト(http://blog.nextbird.com/?p=23)に掲載している通りに会員システム構築を行っております。 レンタルサーバー(Cside:mySQl使用可能)のphpmyadminでデータベースを作成しました。データベースサーバー名やパスワードなどもiniファイルに記入して接続用のファイルでincludeしています。 すべてアップロードし、試しに自分でフォーム(名前やEmailアドレスなど)に記入したところ、『Can't connect to local MySQL server through socket '/tmp/mysql.sock' 』というエラーが出ます。 『local MySQL server』ということはローカルのMysqlに関係しているようなのですが、レンタルサーバーですべてを行っているのにローカルでMySQLをインストールして設定することなどが必要なのでしょうか?Csideのphpmyadminで『phpMyAdmin 2.6.4-pl3 へようこそ』の下に 『MySQL 4.0.24 は localhost 上 *******@localhost として実行しています。』と書いてあるのも気になります。 php自体は経験有りなのですが、MySQLの接続で困っている状況です。とにかく、、『Can't connect to local MySQL server through socket '/tmp/mysql.sock' 』だけは回避したいのですが、どなたかわかりやすくお教えして頂けませんでしょうか? 分かりづらい質問で誠に申し訳ございません。

  • PHPとMySQLについて

    社内サーバーにWebアプリをUPし、 全てデータベース管理にするため、MySQLを使用しました。 参考書を見ながら作成したため、構文に間違いはありません。 参考書は「 はじめての人のためのかんたんPHP + MySQL入門」です。 この参考書の第8章にあるWEBアプリを忠実に再現しました。 しかし、フォームに情報を入力し、登録を押しても情報が反映されません。 以上と同じように、ぶっとびねっと(フリーレンタルサーバー)でもUPし、phpMyAdminでDBを構築しましたが、 これも同じく登録情報が反映されませんでした。 無論、phpMyAdminから直接CREATEし、HPに情報を反映させるのは可能です。 その際、日本語が???となってしまいましたが、その他は正常です。 一番の問題は、なぜHPから情報を入力し、それがDBへ反映されないのかです。 .htpccessやPHP.iniの設定と何か関係があるのでしょうか? 社内サーバーに.htaccessファイルは無いそうです。 となると、php.iniだと思います。 私は初心者のため、イマイチPHP.iniが良く分かりません。 ローカルにApacheなどを落とした場合は、C:Windowsの中にPHP.iniの設定をいじればいいと思いますが、 社内サーバーの場合、サーバー上のどこかにあるPHP.iniファイルの設定を変える必要があるのでしょうか? 以上、ごちゃごちゃしてて申し訳ありませんが、 お助け下さい。

    • ベストアンサー
    • PHP
  • PHP+MySQLのショッピングカートについて

    PHP+MySQLのショッピングカートについて 宜しくお願いします。 PHP4.4.1+MySQL4.1.15でショッピングサイトを構築しております。 このサイトはPCと携帯に対応させるように構築しております。 携帯でも購入出来る様にする為に、カートはCOOKIEでは無く、SESSIONに依存しております。 ユーザが商品を選択すると、SESSIONに商品IDや、ユーザの選択した内容が格納されます。 複数の商品ID、選択内容を格納させる為に多次元配列にて格納しております。 買い物が終わり決算する時に、個人情報を入力し、確認ページ表示後にMySQLのDBに個人情報と選択項目をそれぞれinsertしていきます。 商品情報については、カートに入れた商品数分を繰り返し処理を行い、1レコードずつinsertしていきます。 MySQLのDBに書き込み後、自動返信にてメールを店舗とユーザに送信しています。 この様なシステムで、問題が発生しております。 決算後、個人情報、商品情報が欠落している場合があります。DBにも自動返信メールにも明記されず、スッポリ無くなっているのです。 それも、全データではなく、個人情報の電話番号だけとか、商品情報の選択項目の1つだけといった具合です。 毎回ではなく、ときどき現れます。 これはプログラムの問題なのでしょうか?それとも、サーバの処理能力の問題で、同時アクセス時に起きている現象なのでしょうか? 私の環境下では何度テストしても現象が現れない為に、原因が分からず悩んでおります。

    • ベストアンサー
    • PHP
  • レンタルサーバー&PHP&MySQLの環境で会員限定のデータベースを作

    レンタルサーバー&PHP&MySQLの環境で会員限定のデータベースを作成中です。 ログイン・ログアウトの処理を作成しているのですけど、いくつか質問させてください。 色々なサイトを巡り自分が解釈したログインの方法を書きます。 1.「会員登録画面」から会員情報を登録。(会員情報をMySQLに保存) 2.「ログイン画面」からフォーム(ID・PASS)を入力しボタンを押して認証。 3.入力されたデータを元にMySQLに問い合わせ会員情報の有無・情報の一致を判断 (情報がない場合はログイン画面へ) 4.セッションにID・PASSを保存。クッキーにセッションIDを保存。 5.会員限定ページに移動。セッションに保存してあるID・PASSを元にMySQLに問い合わせ一致するかどうかを判断。(していなければログイン画面へ) 6.セッションIDを更新する。以後ページを移動する度に一致しているかどうかを確認する。 このような感じになります。 ログアウトはセッション・クッキーを削除すればいいかなと思っています。 上記のような流れでいいのでしょうか。 いまいちセッションやクッキーに保存する内容をどうすればいいのか分かってない状態です。 又セキュリティ的にはどうでしょうか。データベースの改ざんや破壊されたら困るのである程度対策されたものを作成したいです。 ログイン時に自動ログインの有無のチェックボックスを設置してチェックされていたら2週間程度自動でログインされるようにもしてみたいです。 チェックされていたら自動ログインのkeyをランダム値で作成しクッキーとMySQLの会員情報に保存する。 ログインする度にkeyを更新する。(ページに移動する時も) ログアウトしたらkeyを削除する。 http://blog.ohgaki.net/espcs_if_a_fa_ia_a_pa_e_oa_a_sa_da_ca_sa ↑ここのサイトを見ました。 MySQLの会員管理なのですけど、MySQL専用のユーザー登録?(権限とか)を会員毎に登録していく方がいいのでしょうか。 PHPやMySQLは最近勉強し始めたので解り易く教えて頂ければ嬉しいです。 ソースなども添えて頂けるとありがたいです。 良い回答お待ちしています。

    • 締切済み
    • PHP
  • php mysqlの文字化け(レンタルサーバーにて

    phpとmysqlを使って検索システムを作りました。 サーバーはお名前.comを使っています。 phpmyadminにデータを入れた時、きちんと日本語で表示されます。 しかし、実際にDB内の情報をサイトに表示した時に文字化け(??????といった文字化け)が起きます。 いろいろ調べてみるとmysql_query()を使う方法があるみたいなのですが、脆弱性の問題からおすすめしないと書いてありました。 とはいえ、一度mysql_queryで試してみたのですが、そうすると表示する動作そのものにエラーが発生したりでした。 整理すると以下の状況です。 ・phpmyadminでDB内を確認すると、きちんと日本語が表示されていた。 ・しかしサイトにDB内情報を表示すると????と文字化けを起こしていた。 ・mysql_query()は使えなかった。 具体的な対処法として、どうしたらいいものか、ご教示いただけないでしょうか?

    • ベストアンサー
    • PHP
  • さくらvpsでのphpのmysqlの接続について

    さくらvpsでcentos6を選び、yumでphpとmysqlをインストールしました。 phpmyadminにてhttpd、php、mysqlの連携は確認しました。 var/www/htmlに作成したphpスクリプトを入れて、データベースと連携して動作させようと思います。 ローカルでphpを作成したときは、mysql_connectの$dbserverはlocalhostでしたが、現在はどのように入力すればいいのでしょうか。 $dbserverには登録したサーバのIPアドレスを入力するのですか?それともlocalhostのままでいいのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpのセッションについて質問です

    現在、phpのセッションについて学習しています。 開発環境はxamppでMySQLデータベースにPDOで接続しています。 セッションについていくつか質問があります。 セッションを使った認証の流れですが、 ログインフォーム画面で、session_start()し、ログインの認証が成功したらsession_regenerate_idで新しいセッションを発行⇒ログインが必要な画面でセッションの有無を確認 という流れで良いのでしょうか? セッションハイジャック対策にsession_regenerate_idをするようですが、 これは全てのページで毎回行ったほうが良いのでしょうか? セッションIDの受け渡しはcookieに保存する方法とURLに含む方法があり、 セッションハイジャック対策について記述しているサイトではcookieが推奨されている雰囲気ですが、 PHPマニュアル(http://php.net/manual/ja/session.idpassing.php)では信頼性がないとあります。 どちらを使うのが良いのでしょうか? セッションの有無のチェックはsession_start()を記述するだけでサーバーが行ってくれるのでしょうか? $SESSIONにセッションIDを保存してissetで調べるといった記述が必要なのでしょうか? メールアドレスとパスワードでのログイン認証を実装したいのですが、 その場合、マイページでユーザー情報を表示したい際、ログイン時に入力したメールアドレスを$SESSION[email]に格納し、マイページのphpプログラムにて、$SESSION[email]に格納されたメールアドレスを検索条件にしてSELECTで他の情報を取得したら良いのでしょうか? メールアドレスを$SESSION変数で受け渡しするのはセキュリティ上危険でしょうか?(危険であれば内部管理用のユーザーIDを$SESSIONに格納してデータを取得しようと思います。) 基本的なセッションの知識がないため、質問の数が多くなってしまいましたが、 答えられる範囲で良いのでご回答頂けると有難いです。

    • ベストアンサー
    • PHP
  • Yahoo!あんしんねっとを解約したいです

    無効にしたいのですが、ご利用のコンピュータの状態のところに「Yahoo!あんしんねっとは、有効になっています。Yahoo!あんしんねっとのご利用を停止するには、インストールしたときの保護者のIDでログイン後、再度、このページを開いてください。」としか書いていなくて、無効にできません。 どうしてでしょう。教えて下さい。

  • php session cookie 概念

    いつもお世話になっております。 php&mysqlにて会員制サイトを作成中です。 sessionを用いて期待する動作は実現できたのですが、どうしても理解できないことがあります。 sessionについて色々と調べますと、 1)サーバーサイドで処理する方式(URIに埋め込む) 2)クライアントサイドで処理する方式(cookieに渡す) となっております。 ところが、 作成中のサイトでは、cookieを利用していないのですが、URIにも何も付加されていません。 それでも、ログイン・ログオフ状態はそれぞれ望む通りに表示されています。 これは一体どういうことなのか、お分かりになる方がいらっしゃいましたらご回答をお願い致します。 以下に大まかなコードを。 ログイン直後のページ session_start(); session_unset(); if(!isset($_SESSION["user_session"])){ session_register("user_session"); $_SESSION["user_session"]=$hoge; } その他のページ session_start(); $hoge=$_SESSION["user_session"]; if(!empty($hoge)){ echo "ログインしてません"; }else{ echo "ログインしてます"; } 以上のようなものです。 マイページはIDとパスワードで認証しており、本人以外は見ることができないのですが、その他のページはログインすれば誰でも見ることができるようになっています。 現段階で特に暗号化などの処理は施しておりませんが、セキュリティー関連は今後の作業として予定しております。 個人サイトを作り始めて半年で、色々と不勉強な部分、理解が不十分な部分がございます。 分かりやすく説明いただけると助かります。

    • ベストアンサー
    • PHP

専門家に質問してみよう