問題タブ [codeigniter-3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - form_validation->set_rules および form_validation->set_message エラーを取得できません
autoload.php にオートロード ヘルパー フォームとライブラリ フォーム検証があります。
問題は、エラー メッセージ USERNAME IS REQUIRED OR PASSWORD IS REQUIRED WHEN I LEAVE IT BLANK が表示されないことです。ユーザー名が空白のままであるというエラーメッセージを表示せずに、単に LOGIN_VIEW.PHP にリダイレクトします
ドキュメント SAID FORM-VALIDATION は、エラーを表示する目的で使用されます。
ビュー login_view.php については、ここでフォームを見ることができます http://pastebin.com/T2zMYGn1
php - 結果からサブセットを除外する CodeIgniter クエリ
を実行した後、適切なクエリを作成する方法を理解するのに苦労していますJOIN
。これらの結果のサブセットを除外しながら、グループ 1 のすべてのユーザーを取得する必要があります。
表users
:
表users_groups
:
グループ 6 の全員がグループ 1 にも含まれますが、グループ 1 の全員がグループ 6 に含まれるわけではありません。つまり、グループ 6 はグループ 1 のサブセットです。
グループ 1 に属するすべてのユーザーのリストを取得するクエリが必要です (グループ 6 のユーザーは除外します)。上記の例では、2 つの結果が得られるはずJohn Smith
ですJoe Blow
。
CodeIgniter v3 を使用しています
これが私の試みです(わかりやすくするためにキャッシュコードを削除しました)...
ここで私が抱えている問題は、常にグループ 1 のユーザーの完全なリストを取得することです。JOIN
同じユーザーが複数回リストされているすべてのユーザーとすべてのグループのリストが生成されるため、その人が属するグループごとに 1 つのエントリが作成されます。 . 私のクエリはグループ 6 エントリを削除していますが、同じユーザーがグループ 1 にも含まれているため、これは適切ではありません。
クエリが失敗する理由を説明しましたが、成功する方法がまだわかりません。グループ 1 のユーザーを取得してから、グループ 1 と 6 のユーザーのサブセットを削除するにはどうすればよいですか? これらのユーザーは他のグループに属することもできますが、無視する必要があります... グループ 1 と 6 に属するユーザーをグループ 1 のユーザーのリストから除外したいだけです。
結果の各ユーザー:
- グループ 1 に属している必要があります
- グループ 6 に属していてはなりません
- 他のグループに属している場合とそうでない場合があります
任意の提案をいただければ幸いです。
codeigniter - CodeIgniter 3.0 で URL のスペースに 404 が返される
次のような URL がある場合:
http://localhost/Cool Website/
次のエラーが表示されます。
404 Page Not Found: The page you requested was not found: Cool Website/index
ただし、次のようなアンダースコアを使用するとhttp://localhost/Cool_Website/
CodeIgniter は意図したとおりにロードされます。この問題は、名前に変更できないスペースが含まれているメイン プロジェクトに CodeIgniter フォルダーをサブフォルダーとして貼り付けた後に明らかになります。(CodeIgniter プロジェクトの名前をアンダースコアを使用するように変更できます)
これに対する回避策はありますか?
更新:システム ファイルを変更して問題を解決しました。私はphp 5.3.13を実行しています。
URI コア ファイルに移動し、これを _parse_request_uri に入れました。
206行目以降$uri = isset($uri['path']) ? $uri['path'] : '';
これで直ったようです。QUERY_STRING が空だったので、構成ファイルの QUERY_STRING への変更を元に戻しました。これは CodeIgniter 3.0 のバグである可能性があります。私の推測では、20% は uri コードによって「有効と見なされていなかった」ため、実際のスペースに戻すと、それが本当に適切な URL であるため、再び機能するようになりました。
codeigniter - codeigniter 3.0 のような query add ESCAPE '!' のように
codeigniter 3.0 のような query add ESCAPE '!'
例:
CI は次のようなクエリを生成します
しかし、私はそれを期待していました
どうすればそれを達成できますか?
php - データベースは結果を返しません
最近、セッション処理を向上させるために、完全に機能する CodeIgniter v2.2.0 から CodeIgniter v3.0.1 にアップグレードしました。そうすることで、どちら$database['dbdriver']
が使用されているかに関係なく、データベースへのすべての呼び出しは何も返しません。$config
また、次のように配列をデータベースローダーに直接入力しようとしまし$this->load->database($config);
たが、これも機能しませんでした。PDO および MySQLi ドライバーを使用してみましたが、どちらも同じものを返します。
MySQL:
PDO:
私が実行しようとしている単純なクエリは、データがデータベースからプルされていることを確認できるようにするためです。
テーブルは間違いなく空ではなく、300 万を超えるログイン レコードが含まれています。レコード/データの量が多すぎる場合に備えて、制限を 1 に設定しようとさえしました。
私の構成か何かにあるはずの何かが欠けていますか? 以下は私の構成です(同じCIインストールで複数のアプリケーションを処理するようにCIをセットアップしたことに注意してください)
config/database.php
コントローラー/test.php
モデル/users.php
私はここで欠けているものを失っています。
php - ログアウト後の USER プリファレンス変数の保存
私のプロジェクトでは、ユーザーがフォームを送信した場合、ユーザーに関する情報を保存する必要があります。私がやっていることは$_SESSION[]
、ユーザーがフォームを送信したときに変数に保存してセッション変数に保存し、書き込みによってif(!isset($_SESSION['page']))
ユーザーがそのページにアクセスできないように制限しますが、ログアウトするとセッション全体が破棄されます。もう一度登録できますが、ユーザーは既に登録されています。ユーザーの再登録をブロックする方法 これはフォームです
フォームが正常に送信されたら、設定しました
$_SESSION['personal_datas']=1;
送信後にユーザーがフォームに再度アクセスしたとき
私は確かめる
しかし、ログアウトするとページに再度アクセスすると、同じ未記入のフォームが表示されます
ユーザーが再ログイン後に再登録できないようにする方法は?