Php 为什么我的提交按钮不能与更新语句一起工作?

Php 为什么我的提交按钮不能与更新语句一起工作?,php,mysql,forms,submit,Php,Mysql,Forms,Submit,我一页有两张表格。一个是删除用户帐户,另一个是更新用户详细信息(准确地说是用户的饮食)。表单的提交按钮使用不同的值,因为它们是两个单独的表单,用户只选择一个表单来填写,而不是两个表单都填写 我正试图让我的UPDATE语句的submit按钮工作,但当你按下按钮时,什么也没有发生。UPDATE语句用于更新存储在MySQL数据库中的“users”表中的用户“dietID”。我对php相当陌生,如果有任何帮助,我将不胜感激 登录用户更新饮食的表单处理代码: <?php $sess_userID

我一页有两张表格。一个是删除用户帐户,另一个是更新用户详细信息(准确地说是用户的饮食)。表单的提交按钮使用不同的
,因为它们是两个单独的表单,用户只选择一个表单来填写,而不是两个表单都填写

我正试图让我的UPDATE语句的submit按钮工作,但当你按下按钮时,什么也没有发生。UPDATE语句用于更新存储在MySQL数据库中的“users”表中的用户“dietID”。我对php相当陌生,如果有任何帮助,我将不胜感激

登录用户更新饮食的表单处理代码:

<?php 
$sess_userID =$_SESSION['userID'];
$dietopt = trim($_POST['dietopt']);
if(trim($_POST['submit']) == "Change") {
        if (trim($_POST['dietopt']) == 1) {
            require_once("connect.php");
            if (!$db_server) {
                die("Unable to connect to MySQL: " . mysqli_connect_error($db_server));
            } else {
                mysqli_select_db($db_server, $db_database) or die("<h1>Couldn't find db</h1>");
                //UPDATE records of users table
                $query="UPDATE users SET option= .$option . WHERE ID= $dietopt";
                mysqli_query($db_server, $query) or die("Update failed" . mysqli_error($db_server));   
                header('location: account.php');
            }
            require_once("db_close.php");
        } else {
            //do nothing
        }
}
我的删除表单的工作代码是:

<?php
$sess_userID = $_SESSION['userID'];
if (trim($_POST['submit']) == 'submit') {
    if (trim($_POST['delete']) == 1) {
        require_once("connect.php");
        if (!$db_server) {
            die("Unable to connect to MySQL: " . mysqli_connect_error($db_server));
        } else {
            mysqli_select_db($db_server, $db_database) or die("<h1>Couldn't find db</h1>");
            //DELETE records from comments table
            $query = "DELETE FROM comments WHERE userID=$sess_userID";
            mysqli_query($db_server, $query) or die("Delete 1 failed" . mysqli_error($db_server));
            //DELETE record from users table
            $query = "DELETE FROM users WHERE ID=$sess_userID";
            mysqli_query($db_server, $query) or die("Delete 2 failed" . mysqli_error($db_server));
            //LOGOUT AND DESTROY SESSION
            $_SESSION = array();
            session_destroy();
            header('Location: index.php');
        }
        require_once("db_close.php");
    } else {
        header('location: home.php');
    }
}

这将删除您的用户名、密码以及您上传到我们社区论坛的任何评论或照片。我们承诺删除您的所有详细信息,我们不会存储或出售您的信息。 是:
否:

这是因为html代码中没有表单元素 你的表格

Would you like to change what your current diet is? Please select one
<br>
<form action="your-action-page.php" method="post">
<td><input type="radio" name="dietopt" value="Meat-eater"/>Meat-eater</td>
<tr>
<td><input type="radio" name="dietopt" value="Vegetarian"/>Vegetarian</td>
</tr>          
<tr>
<td><input type="radio" name="dietopt" value="Vegan"/>Vegan</td></tr>
<br>
<input type="submit" name="Change" value="Change">
</form>
您想改变您当前的饮食吗?请选择一个

肉食者 素食主义者 素食主义者
处理页面

<?php 
$sess_userID =$_SESSION['userID'];
$dietopt = trim($_POST['dietopt']);
if(trim($_POST['submit']) == "Change") {
    if ($_POST['dietopt'] == 1) {
        require_once("connect.php");
        if (!$db_server) {
            die("Unable to connect to MySQL:".mysqli_connect_error($db_server));
        } else {
            mysqli_select_db($db_server, $db_database) or die("<h1>Couldn't find db</h1>");
            //UPDATE records of users table
            $query="UPDATE users SET option='".$option."' WHERE ID= ".$sess_userID;
            mysqli_query($db_server, $query) or die("Update failed" . mysqli_error($db_server));   
            header('location: account.php');
        }
        require_once("db_close.php");
    } else {
        //do nothing
    }
}

错误条件
$\u POST['submit']==“Change”)
,因为您的字段名在语法更新查询中也是错误的
name=“Change”
query=“update users SET option=.$option.WHERE ID=$dietopt”另一个备注是:
如果(trim($\u POST['dietopt'])==1{
它永远不会是1..submit按钮是否在
标记中???@saty ok,那么我是否将其更改为$\u POST['change'])?我认为==意味着它知道要使用哪个提交按钮。我在更新查询中犯了什么语法错误?我是新手,抱歉。谢谢。我添加了这个,但它没有更新mysql数据库中的任何内容。更改WHERE ID=“.$dietopt;to WHERE ID=”.sess_userID;在您的queryNope中也不起作用。非常感谢您帮助我回显您的查询并在此处发布,只需在$query=“UPDATE users SET option=”“$option.”之后键入echo$query;die()。'WHERE ID=“.sess_userID;ok这显示:解析错误:语法错误,意外的“$query”(t_变量)在第77行的/home/me14ch/public_html/chefsclaw/account.php中
<h3><p> Are you sure you want to delete your entire account <?php echo $_SESSION['username'];?>?</p> 
This will remove your username, password and any comments or photos you have uploaded to our Community forum. We promise to delete all of your details and we will not store or sell your information.</h3>
 <form action="account.php" method="post">
 Yes:<input type="radio" name="delete" value="1" /><br />
 No: <input type="radio" name="delete" value="0" checked="checked" /><br />
 <input type="submit" name="submit" value="submit" />
 </form>
Would you like to change what your current diet is? Please select one
<br>
<form action="your-action-page.php" method="post">
<td><input type="radio" name="dietopt" value="Meat-eater"/>Meat-eater</td>
<tr>
<td><input type="radio" name="dietopt" value="Vegetarian"/>Vegetarian</td>
</tr>          
<tr>
<td><input type="radio" name="dietopt" value="Vegan"/>Vegan</td></tr>
<br>
<input type="submit" name="Change" value="Change">
</form>
<?php 
$sess_userID =$_SESSION['userID'];
$dietopt = trim($_POST['dietopt']);
if(trim($_POST['submit']) == "Change") {
    if ($_POST['dietopt'] == 1) {
        require_once("connect.php");
        if (!$db_server) {
            die("Unable to connect to MySQL:".mysqli_connect_error($db_server));
        } else {
            mysqli_select_db($db_server, $db_database) or die("<h1>Couldn't find db</h1>");
            //UPDATE records of users table
            $query="UPDATE users SET option='".$option."' WHERE ID= ".$sess_userID;
            mysqli_query($db_server, $query) or die("Update failed" . mysqli_error($db_server));   
            header('location: account.php');
        }
        require_once("db_close.php");
    } else {
        //do nothing
    }
}