2013-05-07 116 views
1

我是PHP新手,在寫了一對CMS之後,我想嘗試一些更復雜的東西。動態創建php文件和表

我想要做的是創建一個腳本,因此我可以創建功能,班級和形式等,像一個個人管理面板爲用戶,但他們自己的目錄中的整個用戶區域。目標是在網頁內創建自己的網頁。我認爲這是一個普遍的任務,因爲我猜這是所有的博客,投資組合網站,臉譜,YouTube的。

我一直在嘗試mkdirfopenfwrite和類似的命令,但我不知道我怎麼能使用這些 - 無碼地段 - 打造功能完備的用戶領域,如管理面板。

寫在這之後我看到在擴大這個問題。如果用戶總是創建文件,那麼這最終會佔用大量的服務器空間。更好的方式來做到這一點是通過像Codeigniter這樣的框架MVC?

或者將最好的方式做到這一點是通過使用php copy()

+0

將wordpress的是更好的選擇嗎? – Subash 2013-05-07 07:21:30

+0

@Subash也許,但我想自己創建,以瞭解更多PHP – 2013-05-07 07:23:12

+2

你應該使用'HMVC'篝火http://cibonfire.com/ 也可以看到CI篝火模塊的功能 – 2013-05-07 07:24:57

回答

1

所以你想讓facebook沒有很多代碼。祝你好運:)

但要創造你不實際創建爲這些用戶文件單獨userarea。你有一個數據庫存儲每個用戶的數據,你有一個php文件,爲正確的用戶選擇正確的數據。

下面的例子是概念的一個非常簡單的證明,並且不應該被直接使用。

你有一個表的用戶

id | Name 
1 | Elisa 
2 | Hugo 

和表格內容

id | UserId | MyBlogEntry 
1 | 1  | Hello, this is my blog 
2 | 1  | Hello, this is my 2nd blog 
3 | 2  | I dont like blogging 

現在你有一個網頁叫做usercontent.php它接受用戶名作爲變量。你稱它爲usercontent.php?user=Eliseusercontent.php?user=Hugo

內容: 請記住,我遺漏了所有驗證檢查,以簡化。你需要確保有有效的用戶和沒有SQL注入

<? 
$user = isset($_GET['user']) ? $_GET['user'] : '' 

if (empty($user)) { 
    echo 'I dont know this user'; 
    exit; 
} 

echo $user.'\'s Blog<hr>'; 

$query = "SELECT * FROM content WHERE UserId=(SELECT Id FROM users WHERE name='".$user."')"; 

//execute mysqli query 

while($row = $result->fetch_array(MYSQLI_ASSOC)) 
{ 
    echo '<p>' . $row['MyBlogEntry'] . '<p>'; 
} 
?> 

的輸出中會是這樣進行ELISA

Elisa's blog 
--------------------- 
Hello, this is my blog 

Hello, this is my 2nd blog 

而對於雨果

Hugo's blog 
--------------------- 
I dont like blogging 
+1

這很有道理,而且我已經使用這種方法向用戶顯示他們自己的記錄。但是你不會爲每個用戶的內容創建一個表格?所有內容在一個表中? – 2013-05-07 07:36:37

+1

您將擁有一個數據庫和多個表。你可以爲用戶設置一個表格,一個用於博客,一個用於設置,一個用於投資組合,一個用於評論,一個用於......等等 – 2013-05-07 07:47:24