【发布时间】:2011-01-26 04:04:24
【问题描述】:
我一直都做错了,我曾经从 URI 段中获取值,但没有意识到这不是理想的方式。所以我改变了我的方法,现在通过 $_POST 拥有一切。我不确定我是否正确执行此操作,有人可以阐明一下吗?我的视图包含从数据库中提取的表格数据列表项。每个项目都有两个链接,“查看”和“删除”。该代码似乎可以工作,但想知道是否可以更好地编码。忘记了表单名不是唯一的,所以我去删除一条记录时,总是删除最新的记录(设置了最后一个隐藏字段)。
myview.php (sn-p)
<?php foreach($records as $record): ?>
<form method="POST" name="myform<?php echo $location->id;?>" action="/location/delete">
<a href="/location/view/<?php echo $location->id;?>">View</a> <a href="#" onclick="document.myform<?php echo $location->id;?>.submit();">Delete</a>
<br />
<input type="hidden" name="location_id" value="<?php echo $location->id;?>">
</form>
<?php endforeach ?>
【问题讨论】:
-
I've been doing it all wrong,- 说谁?如果您的应用程序受到控制,则通过 URI 段删除是一个非常可行的解决方案。您的代码也使用$records as $record,但您将其称为$location- 不正确 -
我会使用绝对 URL 使用
base_url()方法来避免未来的问题(将项目移动到子文件夹..等) -
为什么不稍微 ajaxify 您的应用程序并发出异步发布请求以删除记录?这样您就不必使用多种形式了。
-
抱歉,我在发帖前修改了代码,应该是
$record->id。我计划使用 Ajax,但我不能依赖它,以防有人开始禁用 JS。我不希望用户能够通过 URL 删除记录(例如 domain.com/items/delete/2)
标签: php codeigniter post uri