2010-12-16 97 views
0

我想創建一個包含註冊和用戶配置文件的簡單網站。 現在,我不知道是否有一種方法讓用戶在點擊時創建新頁面,比如NEW POST或類似的東西。 如果我沒有錯,Stackoverflow使用類似的東西,所以我希望有人向我介紹這是如何完成的。關於php頁面創建的問題

順便說一句,我在PHP + MySQL的

+0

你的意思是一種形式? – 2010-12-16 20:58:18

+0

您無需創建新頁面。只有一個發佈頁面,通過PHP和JS進行操作。 – Lockhead 2010-12-16 21:01:18

+0

從基本的tutoiral開始。不要指望在10 - 15年內做出像stackoverflow這樣的東西。經過大量的研究。許多。 – DampeS8N 2010-12-16 21:01:25

回答

0

我認爲你正在尋找從數據庫內容的模板頁面的工作。

例如,stackoverflow將頁結構/模板保存在其服務器文件系統的某處。每添加一個新頁面都只是一些數據庫條目。當有人點擊一個頁面時,他們會得到填充了查詢結果的模板,如「select * from pages where id = [id]」。

順便說一句,我正在做的假設,這是如何工作的計算器,我想他們可能理論上有做每一個問題一個新的物理頁面...

+0

「假設他們理論上可以爲每個問題製作一個新的物理頁面......」那麼,它是用.NET編寫的...... – Flukey 2010-12-16 21:09:04

+1

.NET與這有什麼關係? – Joe 2010-12-16 21:16:11

+0

並不多,通過將網址重寫爲人類和搜索引擎友好來「隱藏」GET變量是一種常見的SEO練習。 – 2010-12-16 21:46:07

0

傳統的方式:

  • 創建一個新的PHP頁面,該頁面使用<FORM>輸出HTML form,並輸入<INPUT type="submit">按鈕和其他<INPUT>字段。
  • 當用戶單擊該按鈕時,字段中的數據將發佈到您的表單中。使用$_GET[]$POST[]陣列在PHP腳本的開頭檢索這些數據。
  • 使用MySQL PHP API將數據保存在數據庫的表中,稍後在同一個或另一個PHP頁面中檢索它。

此方法的缺點是,無論何時單擊按鈕,頁面都必須刷新。因此,現在很多網站使用AJAX方式:

  • 創建一個鏈接元素的HTML頁面,該元素鏈接無處不在但觸發JavaScript函數,例如。 <A href="#" onClick="doSubmitData()">Click me</A>
  • 在JavaScript函數,檢索來自DOM的數據,並將其發佈到一個單獨的後端PHP腳本,例如「savedata.php」
  • 重複最後兩步以上(檢索PHP數據,保存在MySQL)
  • 當你以後需要的數據按照相反的方式,例如。使用JavaScript訪問像「getdata.php」這樣的東西,它以XMLJSON格式檢索您的數據,然後解析並顯示DOM中元素的數據。

在後一種情況下,我喜歡使用jQuery,因爲它在Javascript端節省了大量工作。

0

歡迎來到與web應用程序長時間的旅程。對你提供的信息最好的辦法是啓動任何有用的教程dynamic web site development.設置學習PHP編程的實際目標(因爲這是你所表達的興趣),並且一開始就明白這將是花費巨大的時間和精力進行學習和有效的投入。

但是給什麼使一個動態網站的基本綱要:

動態網站(在較小的範圍內)和Web應用程序(在更大的範圍內)依靠某種持久層的(通常是這樣一個數據庫MySql)來存儲數據和用戶輸入,因爲基本HTTP環境是無狀態的,並且不提供任何記憶和維護用戶內容的規定。

因此,某種「顯示層」呈現一種收集用戶輸入的表單,無論是登錄,編輯頁面,撰寫博客文章等。這通過HTTP發送到「程序層」清理並保護該輸入並將其保存到數據庫或平面文件中。在檢索時,程序層還負責使用任何一組程序指定的標識符(在數據庫中這些通常採用主鍵的形式)從存儲器中調用該數據。

大多數這些類型的應用程序將是用一種遵循着名編程結構之一的框架構建。網絡應用最常見的一種叫做Model-View-Controller.這是因爲這種架構分離這些層的方式非常類似於Web環境中典型用戶請求的流程(視圖 - 用戶界面,控制器 - 程序層,模型 - a編程表示鏈接到數據庫以實現其屬性的數據)。

請記住,這僅僅是總結中的理論。當你增加你的PHP詞彙時,你很可能會開始編寫簡單的程序(從上到下腳本)運行基本命令的程序。如果您對將此視爲一種可能的職業或強烈追求的興趣感興趣,我建議您搜索一些基本的PHP CMS教程,以瞭解數據庫和PHP如何協同工作。如果你只是試圖將一個簡單的,一次性的內容管理解決方案放在一起,那麼我真的必須建議你使用一些偉大的開源解決方案,例如Wordpress.。無論哪種方式,我希望你在你的追求中一切順利!

0

這是一個漫長的旅程,但回答你的問題,

  • HTML表單使用POST或GET。 棒與職位上,做多GET數據的任何行爲(避免XSS-問題)

  • 作爲一個初學者,使用號碼爲輸入或學習http://bobby-tables.com/ (這是一個DB-的事情,只是下面的例子在同...)

一個簡單而實用的例子;

<html> 
<body> 
    <form method="post" action="adduser.php"> 
    <input type="text" name="username"/> 
    <input type="password" name="password"/> 
    <input type="submit" value="create" /> 
    </form> 
</body> 
</html> 

adduser.php: 
<? 
//get form fields... 
$username = str_replace(';','',$_POST['username']; 
$password = str_replace(';','',$_POST['password']; 

//insert into text-table... 
$fp = fopen('usertable.dat','a'); 
fwrite($fp,$username . ';' . $password) . chr(13). chr(10); 
?> 
<html> 
.... 
<p>Your account has been created.</p> 

隨着您添加驗證,安全性和完整性,您將最終需要一個良好的框架。有幾十個。 wordpress可能是一個很好的起點。

問候, //牛逼