サポート » プラグイン » ktai styleでログインが出来ません

  • 皆さんこんにちは。
    今日はktai styleで質問があります。

    ログイン画面にIDとPASSを入れるとエラーが出ます。
    IDかPASSが正しくありません、という内容です。
    しかしながらPCから同じIDとPASSできちんとログイン出来ます。

    これはどうしてなんでしょうか・・・
    また解決策はありますか?

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック投稿者 tomato11cats

    (@tomato11cats)

    ↑すみません。嘘でした。
    >IDかPASSが正しくありません、という内容です。

    ではなくて
    エラー:ログインセッションを生成できませんでした。

    と出ます。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    ログインセッション管理用のテーブルが作成されてないようです。
    お使いのレンタルサーバーで、ユーザーによる CREATE TABLE が許可されているか確認してください。

    トピック投稿者 tomato11cats

    (@tomato11cats)

    はい。聞いてみます!!
    ・・・で、許可されていたら何をすればいいんでしょうか?(^-^;)

    モデレーター IKEDA Yuriko

    (@lilyfan)

    許可されていれば、Ktai Style を一旦「使用停止」にして、再度有効化してみてください。それでテーブルが作られるはずです。作られなかったら、phpMyAdmin などで手動でテーブルを作る必要があります。wp-admin/install.php を参考に以下の SQL を発行します。(wp_ktaisession のテーブル名や DEFAULT CHARCTER SET の部分は環境によって調整が必要です)
    CREATE TABLE IF NOT EXISTSwp_ktaisession` (
    sid varchar(32) NOT NULL,
    next_id varchar(32) NULL default NULL,
    expires datetime NOT NULL default ‘0000-00-00 00:00:00’,
    user_id bigint(20) NOT NULL default 0,
    user_pass varchar(64) NOT NULL default ”,
    user_agent varchar(255) NULL,
    term_id varchar(64) NULL,
    sub_id varchar(64) NULL,
    data text NULL,
    PRIMARY KEY (sid)
    ) DEFAULT CHARACTER SET utf8_general_ci;

    7ヶ月前の質問なのでここにコメントするのはアレなのですが、他の方のため。
    当方はマルチサイト環境でしたので、プラグインを停止→有効にしても解決しませんでした。

    上記のsqlを参考にして、下記のように解決しましたのでご報告いたします。

    1) phpmyadminにて、データベースのsqlバックアップを行う。
    2) CREATE TABLE からはじまる、”wp_ktaisession”の文字列を検索する
    3) テーブル作成のsqlをコピーする(ウチの環境はこれでした)
    CREATE TABLEwp_ktaisession` (
    sid varchar(32) NOT NULL,
    next_id varchar(32) DEFAULT NULL,
    expires datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
    user_id bigint(20) NOT NULL DEFAULT ‘0’,
    user_pass varchar(64) NOT NULL DEFAULT ”,
    user_agent varchar(255) DEFAULT NULL,
    term_id varchar(64) DEFAULT NULL,
    sub_id varchar(64) DEFAULT NULL,
    data text,
    PRIMARY KEY (sid)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;`
    ここから、
    4) CREATE TABLEwp_ktaisession( の行のテーブル名をマルチサイト環境に合わせて、テーブル名を適宜変更する

    5) 下記のようにテーブル名だけ書き換えて、sql実行(正常に作られたものからコピーすれば文字コードの環境は気にしなくてよいので)
    CREATE TABLEwp_hogehogenumber_ktaisession` (
    sid varchar(32) NOT NULL,
    next_id varchar(32) DEFAULT NULL,
    expires datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
    user_id bigint(20) NOT NULL DEFAULT ‘0’,
    user_pass varchar(64) NOT NULL DEFAULT ”,
    user_agent varchar(255) DEFAULT NULL,
    term_id varchar(64) DEFAULT NULL,
    sub_id varchar(64) DEFAULT NULL,
    data text,
    PRIMARY KEY (sid)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;`

    こちらはこれでうまくいきました。
    素晴らしいプラグインですので、マルチサイト環境にも対応していただけると幸いです。

    古い投稿ですが…

    マルチサイト環境で「ネットワークで有効にする」で使用し
    「エラー:ログインセッションを生成できませんでした」 に遭遇しました。

    ktai-style/admin/class.php  の8箇所ある
    $wpdb->prefix を $wpdb->base_prefix に変更
    しましたら、
    各々の携帯サイトからログインできました。

    各々のサイトのID毎に生成される wp_ID番号_ktaisession テーブルを
     wp_ktaisession の1つとしてます。
    wp_ は、デフォルトのprefixです(一応

    それだとログインセッションを使い回してしまう危険性があるので、マルチサイトであってもネットワークで有効にせず、個別サイト毎に有効化すればいいだけです。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    ネットワークで有効にすると、サイトごとに (wp_)ktaisession テーブルを作るようになっているのですが、環境によっては動いてないようです。

    WordPress 3.0 ではカスタム投稿タイプが導入され、ナビゲーションメニューなどもここに入るようになりました。もはやプラグインがテーブルを作ることは好ましくないと思われます。

    セッションテーブルのような時々刻々に変わるデータは wp_options に作るのが正しいと思われますので、将来の Ktai Style ではセッションデータを wp_options に持つのがいいのかもしれません。

    とはいえ、実装を変更するとしたら Ktai Style 2.x 系統では無理で、3.0 ぐらいになるでしょう。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「ktai styleでログインが出来ません」には新たに返信することはできません。