Php $\u获取值将不会发布到更新记录

Php $\u获取值将不会发布到更新记录,php,mysql,post,get,Php,Mysql,Post,Get,我使用单页提交表单创建并编辑记录。如果我自己定义记录id,它将创建记录并填充表单并更新它 如果我尝试拉入$\u 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,它将创建记录并填充表单并更新它

如果我尝试拉入
$\u 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(isset($\u GET['id'])){
$id=$_GET['id'];
$guests=Guest::通过_id($id)查找_;
} 
$message=“”;
如果(isset($_POST['submit'])){
$guest=newguest();
如果(isset($\u GET['id'])){
$guest->id=$id;
}
$guest->name=$\u POST['guest\u name'];
$guest->info=$\u POST['guest\u info'];
$guest->image\u path=$\u POST['guest\u image\u path'];
$guest->sc_player=$_POST['guest_sc_player'];
如果($guest->update()){
$message=“已成功上载。”;
}否则{
$message=join(“
,$guest->错误); } }

如果我将第二个if语句替换为
$guest->id=“14”

您的id在哪里我到处都看不到,它设置在哪里?

您确定设置了$\u GET['id']吗?您是否尝试过var_转储($\u GET['id'])?您的请求不能同时是POST和GET请求。这两者是互斥的。我在页面上的某个地方回显了$_GET['id'],以测试它是否工作,并返回了正确的id。@meagar:如果我发布到
page.php?id=3
?;)这是html表单,我通过在表单操作中添加id,在它只是action=“save_guest.php”之前,设法让它工作。id是通过头部传入的。很好,只要它有效,这就是为什么我们在这里,我们都有问题;)