1

主に私が求めている方法がおそらく間違った方法であるため、私はしばらくの間グーグルで検索してきましたが、成功していません。

知りたいこと

ユーザーがデータをテーブル (MYSQL データベース内) に追加して Web サイトに表示できるようにする PHP スクリプトをいくつか作成しました。現在、エントリを編集および削除する機能に取り組んでいますが、スクリプトは誰でも実行できます。これは誰のエントリにも。

これに役立つPHPまたはMysql関数があるかどうかはわかりません。私のゴーグルは無駄だったと言いました。したがって、この情報、またはエントリを作成したユーザーのみがエントリを変更できるようにする構文チャンクの例を含む Web ページを参照できる場合。

これを達成するために、何らかのタイプの while または if ステートメントがあると想定しています。

シナリオ例

ユーザーがエントリを追加すると、エントリに ID が与えられます。ユーザーをその ID にリンクして、ユーザーだけが編集できるようにすることはできますか?

ノート

ユーザーのログイン情報についてワードプレスウィジェットが制御しているように、PHPをワードプレスサイトに追加していますが、データベースを散歩しているときにエントリがまだデータベースフィールドに配置されていることがわかります。

私が求めていること

私が知る必要があることを示すWebページ/サンプル構文またはチュートリアルを知っていますか、または十分な時間があれば説明してください:)。

ありがとう

ベン

4

1 に答える 1

0

現在のユーザーの ID で新しいエントリを更新します。$entry_id は新しいエントリの ID です。

$current_user_id = get_current_user_id(); // current user logged into WordPress

mysql_query("UPDATE `table` SET `user_id`='$current_user_id' WHERE `id`='$entry_id'") or die(mysql_error());

更新:残りのデータと同時に、user_id を持つエントリを挿入することもできます。

mysql_query("INSERT INTO `table` ([other column names], `user_id`) VALUES ([other values], '$current_user_id')") or die(mysql_error());

現在のユーザー ID が、データベースで許可されている編集ユーザー ID と等しいかどうかを確認してください。

$query = mysql_query("SELECT * FROM `table` WHERE `id`='$entry_id' LIMIT 1") or die(mysql_error());
$data = mysql_fetch_array($query);

$allowed_user_edit_id = $data['user_id']; // user id who is allowed to edit

$current_user_id = get_current_user_id(); // current user logged into WordPress

if ($current_user_id == $allowed_user_edit_id) {
    // Your code for editing the entry
}
于 2013-04-07T08:07:01.140 に答える