php - PHP未定义变量,但它已定义并具有值
问题描述
我正在开发一个 PHP 项目 - 我有一个表单将日期发布到另一个表单我做了一些更改(尽管没有对有问题的输入进行更改)现在所有其他输入都使用它们的 Posted 值进行更新,日期除外
如果我在 HTML 中手动设置日期,它可以工作:
<div><input type="date" class="form-control" id="DateCourse" name="DateCourse" value="2009-01-01"></div>
如果我将它设置为以下,它不会:
<div><input type="date" class="form-control" id="DateCourse" name="DateCourse" value="<?php echo (isset($DateCourse))?$DateCourse:'';?>"></div>
下面:
$DateCourse = ($_POST["DateCourse"]);
var_dump($_POST["DateCourse"]);
var_dump($DateCourse);
回报:
string(10) "2019-01-05" - 表示 post 值已设置
注意:未定义变量:第 119 行 /home/bitecons/bts.biteconsulting.co.za/v2/editccr.php 中的 DateCourse - 怎么可能未定义,我刚刚定义了
无效的
我到底做错了什么?除了使用 PHP :P
按要求流动:
记录.php:
这是预填充我发布的字段的功能:
function Prefill(x) {
TabletoEdit = x.closest('table').id;
SelectedRow = x.rowIndex;
document.getElementById("EntryEditing").value = x.cells[19].innerHTML;
document.getElementById("DateCourse").value = x.cells[0].innerHTML;
document.forms["records"].submit();
}
然后我也有:
<form action="editrec" method="post" id="records">
<input type='hidden' name='Period' id='Period' />
<input type='hidden' name='Month' id='Month' />
<input type='hidden' name='res' id='res' />
<input type='hidden' name='CustName' id='CustName' />
<input type='hidden' name='DateCourse' id='DateCourse' />
</form>
Prefill 被调用,然后提交表单
我已经跟踪并且 DateCourse 有数据,但是当进入另一种形式时,它“消失”:
if(!empty($_POST)) {
$DateCourse = ($_POST["DateCourse"]);
$CustName = ($_POST["CustName"]);
}
比如填写CustName,但不填写DateCourse?
附带问题:
如果未设置另一个 post var(与此无关),这是否会返回 true:
if(!empty($_POST))
解决方案
我认为您使用了错误的代码,您必须提交第一个表单,然后在 POSTBACK 的另一个表单中使用 $DateCourse 这个