0

私はまだ「新しく」学習しているので、誰かがこのプロセスを素人の言葉で説明するのを手伝ってくれることを願っています。

私はバックエンドを備えた基本的なコンテンツ管理システムを構築しました。数十人のユーザーがサービスにアクセスし、アカウントにデータを保存し、必要に応じて後でそのデータを呼び出すことができるシステムを作成しようとしています。

これまでのところ、ログイン、登録、およびフォーム(データを保存するため)が完成しました。このデータをMySQLに保存する方法(ちなみにPHPを使用)がわからないので、1人ではなく数十人のユーザーがすべてデータを保存できます。

例:数十人のユーザーがWordPressにアクセスして投稿を作成できますが、自分のアカウントで他のユーザーの投稿を表示することはできません。

複数ではなく、1つのアカウントを設定してデータを保存する方法を理解しています。

アドバイスをいただければ幸いです。

PS誰かが読むべきガイド/チュートリアル/推奨記事を持っているなら、私は信じられないほど感謝するでしょう!

4

1 に答える 1

0

PHPがどのように機能するかについて、かなり重要な部分が欠けていると思います。

個別のユーザーはそれぞれ、アプリケーションの異なるインスタンスを使用します。たとえば、アプリケーションを入力してログインし、同じことを行うと、(たとえば)変数$ _SESSIONが設定されますが、はになり、は$_SESSION['idUser'] = 3になります$_SESSION['idUser'] = 5。彼らはお互いの存在を知りません。

したがって、基本的には、適切な制限付きで、シングルユーザー向けのアプリケーションを考える必要があります。つまり、たとえば、プロファイルの編集ページを作成する場合$idUser = $_SESSION['idUser']は、SQLクエリで使用して、適切な情報を選択/更新/挿入します。

クエリの例を次に示します。

// view users profile page
$idUser = intval($_SESSION['idUser']);
$query = "SELECT * FROM `users` WHERE id = {$idUser}";

// edit profile checks/database update
$idUser = intval($_SESSION['idUser']);
$userData = $_POST['user']; // let's say all your inputs have a name="user[...]"
// !!! validation for the user data !!!
$query = "UPDATE `users` SET col1='{$userData[col1]}', col2='{$userData[col2]}' WHERE id = {$idUser}";

これがお役に立てば幸いです。さらに詳しい説明が必要な場合はお知らせください。

PS:SQLクエリで使用する前にデータを適切にエスケープすることを忘れないでください。また、mysqliまたはPDO拡張機能を使用してください(mysqlは非推奨であり、将来のバージョンのPHPで削除されるため、使用しないでください)。

于 2013-01-18T09:31:04.343 に答える