2011-11-23 21 views
0

我想問一些關於如何處理這種情況的最佳方法,以及處理這種情況的最佳方法,對我來說太複雜了。也許例子是高度讚賞。用多個提交和搜索處理複雜場景的最佳方式

我想要構建的頁面應該具有此功能。

  1. 可以通過http://server/view.php?id=1000
  2. 在瀏覽器中打開,如果ID = 1000不存在,發佈不存在的消息,並將其投入到另一個頁面
  3. 在ID = 1000確實存在,然後打開頁面查看
  4. 該頁面有一個帶有文本框的表單,我可以在其中添加有關記錄的信息
  5. 表單提交給自己並將數據處理到數據庫。

我該如何結合所有這些功能?我真的很感激,如果一個示例代碼片段,特別是在表單提交,檢查ID是否存在感謝很多。

回答

2

下面是非常基本的例子。您可以填寫詳細信息

$id = intval($_GET['id']); // assume it's int and force to be int 

// do database call 
// 1. init connection, set db, etc 
mysql_query("select something from something where id = ".$id); 

// check for results 
if (! results exist) http_redirect('your error page'); 

// Now check if any posted variables exist 
if (isset($_POST['field1']) && isset($_POST['field=2']) .... 
{ 
    1. validate your data 
    2. insert to the database 
    3. http_redirect to success page 
} 

// if you're getting here, that means id is valid and data has not been posted 
show your form 
display whatever HTML you need with the data loaded for id above 
+0

感謝您的解決方案,我對此有疑問。所以表單總是在代碼的下半部分?我也可以替換 ifset isset($ _ POST ['SUBMIT'])然後驗證數據,插入然後再加載表單本身?我不需要http_redirect成功因爲我只想在一個頁面上。謝謝 –

+0

是,如果你想留在同一個頁面上,你可以進行驗證,插入和加載,你可能想在頂部添加一條消息,讓用戶知道Save是否成功,另外,是的,表單你必須先檢查有效的身份證和發佈的數據,然後顯示你想要的信息 –

+0

非常感謝你的好主意。 –