Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP未定义变量,但它';s已定义并具有一个值_Php_Html_Forms_Variables - Fatal编程技术网

PHP未定义变量,但它';s已定义并具有一个值

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

我正在从事一个PHP项目——我让一个表单将日期发布到另一个表单 我做了一些更改(尽管对所讨论的输入没有更改) 现在,除日期外,所有其他输入都将使用其发布的值进行更新

如果我在HTML中手动设置日期,它将起作用:

    <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>