php - 仅当数据库中存在 GET var 时才加载编辑表单

标签 php mysql forms

我的脚本当前的作用:

  • 抓取并清理 $_GET['id']
  • 从表中提取该 ID 的所有预先存在的数据
  • 显示填充有任何预先存在的数据的表单
  • SUBMIT 发送表单数据到更新脚本,将所有数据添加到 TABLE

我希望我的脚本做什么:

  • 抓取并清理 $_GET['id']
  • 从表中提取所有可能的(id)(我知道该怎么做)
  • 检查 $_GET['id']位于数组 ID 中(我知道该怎么做)
  • 如果不是,则终止脚本,不显示表单,并回显错误消息(我不这样做)
  • 如果是,则照常进行
  • 从表中提取该 ID 的所有预先存在的数据
  • 显示填充有任何预先存在的数据的表单
  • SUBMIT 发送表单数据到更新脚本,将所有数据添加到 TABLE

当前脚本结构:

  • PHP 代码
  • html 表单 <?php _ ?>插入所有值

我试图成为一个好小伙子并分离我的代码,并且基本上取得了成功。但这给我留下了一个问题,我的 html 表单是否显示 $_GET['id']是否合法。

有人可以帮我设置一下吗 if (!in_array($id, $allIDs))阻止表单显示并抛出错误?

除了使表单成为回显的 HEREDOC 之外,还有其他方法可以控制该 html 的显示吗?

伪代码是可以接受的。我没有费心发布我的实际代码,因为我认为这个问题不值得如此特殊。如果需要的话我可以...

最佳答案

pulls all possible (id)'s from TABLE, checks that $_GET['id'] is in array ID (this I know how to do)

这效率太低了。您应该询问数据库是否有 ID = $_GET['id'] 的行。

如果您展示当前如何执行数据库查询,我会向您展示如何执行此操作。

Other than making the form an echoed HEREDOC, is there a way to control the display of that html?

嗯,这有效,也许令人惊讶:

<?php
if ($should_show_form) {
?>
<form action="">
  <input type="submit">
</form>
<?php
} else {
    //do something else
}
?>

关于php - 仅当数据库中存在 GET var 时才加载编辑表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1997537/

相关文章:

php - Zend Framework 2 - 从 Controller 返回 JSON

MySQL:小表上的常量 "Searching rows for update"

.net - 我可以将 mysql 连接到 visual studio 2010 express 可视化工具吗

javascript - 为 Mechanize 创建自定义表单

java - 将 cookie 中的值设置为 Wicket 中的 TextField<Long>

php - MySQL从同一个表中选择两行

php - 从 HTML 屏幕打印动态页眉或页脚

php - 基于连接查询记录未返回预期结果

php - CakePHP 3.0 : PDO issues

javascript - 如何在页面加载时使用 JavaScript Alertify?