【发布时间】:2012-02-01 19:09:03
【问题描述】:
我正在使用单页提交表单来创建和编辑记录。如果我自己定义记录 ID,它会很好地创建记录并填充表单并更新它。
如果我尝试拉入 $_GET 值,它将不会更新。
这是我所拥有的:
if(isset($_GET['id'])) {
$id = $_GET['id'];
$guests = Guest::find_by_id($id);
}
$message = "";
if(isset($_POST['submit'])) {
$guest = new Guest();
if (isset($_GET['id'])) {
$guest->id = $id;
}
$guest->name = $_POST['guest_name'];
$guest->info = $_POST['guest_info'];
$guest->image_path = $_POST['guest_image_path'];
$guest->sc_player = $_POST['guest_sc_player'];
if($guest->update()) {
$message = "Uploaded successfully.";
} else {
$message = join("<br />", $guest->errors);
}
}
如果我将第二个 if 语句替换为 $guest->id = "14",它会起作用
【问题讨论】:
-
你确定 $_GET['id'] 设置了吗?你试过 var_dump($_GET['id']) 吗?
-
您的请求不能同时是 POST 和 GET 请求。两者是互斥的。
-
我在页面某处回显了 $_GET['id'] 以测试它是否正常工作并返回正确的 id。
-
@meagar:如果我发帖到
page.php?id=3会怎样? ;) -
这里是html表单jsfiddle.net/TJPrn/2