PHP未定义变量,但它';s已定义并具有一个值
我正在从事一个PHP项目——我让一个表单将日期发布到另一个表单 我做了一些更改(尽管对所讨论的输入没有更改) 现在,除日期外,所有其他输入都将使用其发布的值进行更新 如果我在HTML中手动设置日期,它将起作用:PHP未定义变量,但它';s已定义并具有一个值,php,html,forms,variables,Php,Html,Forms,Variables,我正在从事一个PHP项目——我让一个表单将日期发布到另一个表单 我做了一些更改(尽管对所讨论的输入没有更改) 现在,除日期外,所有其他输入都将使用其发布的值进行更新 如果我在HTML中手动设置日期,它将起作用: <div><input type="date" class="form-control" id="DateCourse" name="DateCourse" value="2009-01-01"></div> 返回: 字符串(10)“2019
<div><input type="date" class="form-control" id="DateCourse" name="DateCourse" value="2009-01-01"></div>
返回:
字符串(10)“2019-01-05”-表示设置了post值
注意:未定义的变量:第119行/home/bitecons/bts.biteconsulting.co.za/v2/editccr.php中的DateCourse-如何定义它,我刚刚定义了它
空的
我到底做错了什么?除了使用PHP:P
按要求流动:
Records.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>
例如,填写的是CustName,但不是DateCourse
附带问题:
如果未设置另一个post变量(与此变量无关),该值是否返回true:
我想你用错代码了
您必须提交第一个表单,然后在回发中使用$DateCourse。最好的方法之一是定义$DateCourse
<?php
$DateCourse = "";
if(!empty($_POST["DateCourse"])) {
$DateCourse = ($_POST["DateCourse"]);
}
?>
<div><input type="date" class="form-control" id="DateCourse" name="DateCourse" value="<?php echo $DateCourse;?>"></div>
好吧,向大家道歉,但这可能会在将来帮助其他人。
我有一个对旧函数的函数调用-这失败了,导致我的变量永远无法定义。。。我知道这很愚蠢,但有时需要一个声卡…如果同一页上的两个代码都没有选中submit按钮是否已设置,那么它将显示undefined。所以请展示更多的代码。这个文件/home/bitecons/bts.biteconsulting.co.za/v2/editccr.php是否包含问题中列出的HTML部分,或者HTML部分在不同的页面中?您可以添加整个代码吗?因此,我们可以看到流程在这一阶段,表格已经提交,数据在文章中。所有其他发布的变量都更新了相关的输入流基本上就是这样-用户双击表上的一个条目(例如records.php),这有许多隐藏的html输入,在发布之前会得到更新。。records.php上表单上的操作将打开editrec.php。除了这个日期,editrec.php上的所有输入都已填充…谢谢,但我已经确定它不是空的。我尝试了你的代码,但还是一样。。。不过,如果(!empty($\u POST))看起来是罪魁祸首,你也帮了忙
<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>
if(!empty($_POST)) {
$DateCourse = ($_POST["DateCourse"]);
$CustName = ($_POST["CustName"]);
}
if(!empty($_POST))
<?php
$DateCourse = "";
if(!empty($_POST["DateCourse"])) {
$DateCourse = ($_POST["DateCourse"]);
}
?>
<div><input type="date" class="form-control" id="DateCourse" name="DateCourse" value="<?php echo $DateCourse;?>"></div>