php - 表格更新 - 不工作

标签 php html mysql mysqli

全部,

我正在从过时的 mysql_query 迁移到 mysqli,在此过程中我遇到了一些表单更新更改的问题。具体来说,似乎用于获取 id$ud_id 变量不起作用。

查询被写入左外连接表 empinfoheadcount,其中这两个都是链接主 ID。

这是按预期工作和加载的 edit.php 页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">


<div class="header">
<?php include 'header.php';?>
</div>

<center>

<?php
    // db connection
    include_once('../connection.php');

        // id pull from url
        $ID = (int)$_GET['id'];
            // get results from database
            $query = "SELECT headcount.*, empinfo.*
            FROM headcount
            LEFT OUTER JOIN empinfo
            ON headcount.id = empinfo.id
            WHERE headcount.id = '$ID'";

            $response = mysqli_query($dbc, $query);

            while($row = mysqli_fetch_array($response))

            {

                echo "<form action='update.php' method='post'>";
                echo '<div style="width:40%;padding:0 10pt 0 0;float:middle;">';
                if ($row['isActive'] === '1')
                echo '<input type="checkbox" name="ud_isActive" value="1" checked>Active<br />';
                else
                echo '<input type="checkbox" name="ud_isActive" value="0">Active<br />';
                echo '<input type="hidden" name="ud_ID" value="<?=$ID;?>">';
                echo "ID #: <input type='text' name='ud_hwid' value=". $row['id'] ." disabled readonly><br />";
                echo 'Name: <input type="text" name="ud_EmployeeName" value="'. $row["EmployeeName"] .'"><br />';
                echo '<br />';
                echo '<a href="mailto:' . $row["Email"] .'">Email</a>: <input type="text" name="ud_Email" value="'. $row["Email"] .'"><br>';
                echo '<br />';
                echo 'DOB: <input type="text" name="ud_DOB" value='. $row["DOB"] .'><br />';
                echo 'Age: <input type="text" name="ud_Age" value='. $row["Age"] .'><br />';
                if ($row['isUnderage'] === '1')
                echo '<input type="checkbox" name="isUnderage" value="1" checked>Underage<br />';
                else
                echo '<input type="checkbox" name="isUnderage" value="0">Underage<br />';
                echo '</div>';
                echo '<div style="width:40%;padding:0 10pt 0 0;float:middle;">';
                echo '<br />';
                echo 'Address: <input type="text" name="ud_StreetAddress" value="'. $row["StreetAddress"] .'"><br />';
                echo 'City: <input type="text" name="ud_City" value="'. $row["City"] .'"><br />';
                echo 'Zip Code: <input type="text" name="ud_ZipCode" value="'. $row["ZipCode"] .'"><br />';
                echo '<br />';
                echo 'Home Phone: <input type="text" name="ud_HomePhone" value="'. $row["HomePhone"] .'"><br />';
                echo 'Wireless: <input type="text" name="ud_Wireless" value="'. $row["Wireless"] .'"><br />';
                echo '<br />';
                echo 'Home Department: <input type="text" name="ud_HomeDept" value="'. $row["HomeDept"] .'"><br />';
                echo 'Department Manager: <input type="text" name="ud_Manager" value="'. $row["Manager"] .'"><br />';
                echo '</div>';
                echo '<br />';
                echo 'Live Orientation:<input type="date" name="LODate" value=""><br />';
                echo '<br />';
                echo 'Online Training: <input type="date" name="OTTraining" value=""><br />';



          }

    ?>
    <br />

    <input type="Submit">
    </form> <br />
      <a href="javascript:history.back()">Go Back</a>
    <br />
    </body>
    </html>

这是 update.php -

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">


<style type="text/css">
#wrap {
   width:600px;
   margin:0 auto;
}
#left_col {
   float:left;
   width:300px;
}
#right_col {
   float:right;
   width:300px;
}
</style>

<div class="header">
<?php include 'header.php';?>
</div>

<center>

<?php
$ud_ID = $_REQUEST["ID"];
$ud_EmployeeName = $_POST["ud_EmployeeName"];
$ud_Email = $_POST["ud_Email"];
$ud_DOB = $_POST["ud_DOB"];
$ud_Age = $_POST["ud_Age"];
$ud_StreetAddress = $_POST["ud_StreetAddress"];
$ud_City = $_POST["ud_City"];
$ud_ZipCode = $_POST["ud_ZipCode"];
$ud_HomePhone = $_POST["ud_HomePhone"];
$ud_Wireless = $_POST["ud_Wireless"];
$ud_HomeDept = $_POST["ud_HomeDept"];
$ud_Manager = $_POST["ud_Manager"];

// db connection
include_once('../connection.php');

$query = "UPDATE headcount SET
EmployeeName = '$ud_EmployeeName', Email = '$ud_Email',
DOB = '$ud_DOB', Age = '$ud_Age', StreetAddress = '$ud_StreetAddress',
City = '$ud_City', ZipCode = '$ud_ZipCode', HomePhone = '$ud_HomePhone',
Wireless = '$ud_Wireless', HomeDept = '$ud_HomeDept', Manager = '$ud_Manager'
WHERE ID = '$ud_ID'";

    $response = mysqli_query($dbc, $query);

  echo $ud_ID;
  echo $ud_EmployeeName;

if ($response)
  echo '<p>Record Updated<p> <br /> <a href="javascript:history.back()">Go Back</a>';
else
  echo "Problem updating record. MySQL Error: " . mysql_error();
?>
</body>
</html>

update.php 的第 52 行,您会注意到我使用了 echo $ud_ID$ud_EmployeeName - 这是为了告诉我什么变量正在显示。 $ud_EmployeeName 出现,$ud_ID 不出现。

我也试过用

$ud_ID = $_POST["ID"];

我没有结果。

此外,在 edit.php 上我已经尝试过:

echo '<input type="hidden" name="ud_ID" value='. $row["id"] .'><br />';

我收到错误:

Notice: Undefined index: ID in update.php on line 27

当我点击 submit 按钮时,我收到一条消息,提示记录已更新,但在刷新时,记录具有相同的数据。

最佳答案

您好,使用名称属性获取值

$ud_ID = $_POST['ud_ID'];

关于php - 表格更新 - 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37802095/

相关文章:

javascript - 将 slideToggle() 添加到函数中

php - jQuery UI 自动完成显示 html 代码

php - 在同一查询中选择+插入

javascript - Uncaught ReferenceError : user_id is not defined

php - 实时更新后获取数据

javascript - 如何使复选框选中 onclick 从下拉列表中选择一个选项 : JS

html - 我无法创建导航栏子菜单

PHP/MYSQL 返回数组如何执行 foreach

php - 如何在 PHP 中执行类型提示接口(interface)的契约

html - 如何在 HTML/CSS 中将表格相对于一列居中?