2013-04-07 52 views
1

我一直在谷歌搜索一段時間主要是因爲我問的方式很可能是錯誤的方式。允許用戶創建的條目只能修改它

我想知道

我已經取得了一些PHP腳本,允許用戶將數據添加到一個表(在MySQL datanase)及其顯示的網站上,現在我的能力的工作是什麼編輯和刪除條目,但我所擁有的腳本允許任何人對任何人的條目執行此操作。

現在我不知道是否有PHP或Mysql函數可以幫助解決這個問題,就像我說我的護目鏡一直是徒勞的。因此,如果我可以指向一個具有此信息的網頁,或者更好的是一個僅允許創建條目的用戶修改條目的示例語法塊。

我假設有一些類型的while或if語句來實現這一點。

示例場景

用戶走來添加條目指定可以將用戶鏈接到它的ID,這樣只有他可以編輯的ID的條目?

注意

我加入PHP一個字的新聞網站,從而爲用戶的登錄單詞按小部件控制信息,但是我可以看到的條目仍放在當我一個數據庫字段漫步扔數據庫。

什麼,我問

你知道一個網頁/例如語法或教程會告訴我什麼,我需要知道的,或者如果你的做好了足夠的時間向我解釋:)。

感謝

+0

爲什麼entry_id應該鏈接到用戶?創建一個列user_id並插入用戶的ID,這樣該條目將鏈接到用戶。 – 2013-04-07 07:49:41

+0

您可以與另一個MySQL用戶(可以在phpMyAdmin中輕鬆生成)建立一個新的連接,該連接具有您需要的確切權限。 – 2013-04-07 07:51:21

回答

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()); 

檢查當前用戶標識是否等於數據庫中允許的編輯用戶標識。

$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 
} 
+0

嘿夥計,我得到致命錯誤:用你的語法調用未定義的函數get_current_user_id()你知道爲什麼這可能是 – BenniMcBeno 2013-04-07 09:17:57

+0

你運行的是什麼版本的WordPress? – sman591 2013-04-07 11:37:46

+0

嘿,我正在運行版本3.5。1我可以使用函數get_current_user_id()來調用函數;這擺脫了錯誤,但我只是得到一個頁面的空白屏幕 – BenniMcBeno 2013-04-07 12:27:20

相關問題