Php 以多个提交和搜索的形式处理复杂场景的最佳方法

Php 以多个提交和搜索的形式处理复杂场景的最佳方法,php,forms,Php,Forms,我想寻求帮助,如何以及什么是处理这种情况的最佳方式,对我来说太复杂了。也许这个例子值得高度赞赏 我要构建的页面应该具有此功能 可以通过在浏览器中打开 如果id=1000不存在,则发布一条消息notexist并将其扔到另一页 如果id=1000确实存在,则打开页面进行查看 该页面有一个带有文本框的表单,我可以在其中添加有关记录的信息 表单提交给自己,并将数据处理到数据库 如何组合所有这些功能?我真的很感激你能提供一段示例代码,尤其是表单提交中的代码,检查id是否存在,非常感谢。下面是一个非常基本的

我想寻求帮助,如何以及什么是处理这种情况的最佳方式,对我来说太复杂了。也许这个例子值得高度赞赏

我要构建的页面应该具有此功能

  • 可以通过在浏览器中打开
  • 如果id=1000不存在,则发布一条消息notexist并将其扔到另一页
  • 如果id=1000确实存在,则打开页面进行查看
  • 该页面有一个带有文本框的表单,我可以在其中添加有关记录的信息
  • 表单提交给自己,并将数据处理到数据库

  • 如何组合所有这些功能?我真的很感激你能提供一段示例代码,尤其是表单提交中的代码,检查id是否存在,非常感谢。

    下面是一个非常基本的示例。你可以填写细节

    $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
    

    谢谢你的解决方案,我对此有疑问。那么表单总是在代码的下半部分?我还可以替换if(isset($\u POST['SUBMIT'])吗然后验证数据,插入,然后再次自行加载表单?我不需要在成功时进行http_重定向,因为我只想在一个页面上进行。谢谢,如果您想保持在同一页面上,您可以执行验证、插入和加载。您可能想在顶部添加一条消息,让用户知道保存成功与否。另外,是的,form必须位于底部。您必须首先检查有效的id和post数据,然后显示所需内容