我总是发现自己创建了两个单独的 php 文件/脚本来添加某些数据和编辑这些数据。这些文件并没有太大的不同,所以我认为应该有一种方法可以将它们制作成一个文件。
在这里,我将举一个非常简单的例子来说明我的观点:
add.php
:
<?php
$title = $_POST['title']; // ignore the unescaped data, this is a simple example
$text = $_POST['text'];
mysqli_query($connection,
"INSERT INTO `articles` (`title`, `text`) VALUES ('$title', '$text')");
echo'
<form>
<input type="text" name="title" value="'.$_POST['title'].'" />
<input type="text" name="text" value="'.$_POST['text'].'" />
<input type="submit" value="Add" />
</form>
';
?>
edit.php
:
<?php
$id = $_GET['id'];
$title = $_POST['title']; // ignore the unescaped data, this is a simple example
$text = $_POST['text'];
// save data
mysqli_query($connection,
"UPDATE `articles` SET `title` = '$title', `text` = '$text'
WHERE `id` = $id");
// get current data
$q = mysqli_query($connection,"SELECT * FROM `articles` WHERE `id` = $id");
$d = mysqli_fetch_array($q);
$title = $d['title'];
$text = $d['text'];
echo'
<form>
<input type="text" name="title" value="'.$title.'" />
<input type="text" name="text" value="'.$text.'" />
<input type="submit" value="Add" />
</form>
';
?>
如您所见,添加和编辑表单/代码非常相似,除了:
- add 插入数据,而 edit 更新它
- add 将 $_POST 值插入到表单中(如果有错误,使提交的数据保留在表单中,而 edit 将当前数据库值插入到表单中(保存完成并刷新页面后,使表单有当前的数据库值)
这两个是否可以以某种方式合并到一个文件/代码中,这样如果我想添加/更改表单值,我不需要分别编辑两个文件,而只会更改一次表单?