Неопределенная переменная PHP, но она определена и имеет значение - PullRequest
0 голосов
/ 23 декабря 2019

Я работаю над проектом PHP - у меня была одна форма, отправляющая дату в другую форму, я внесла некоторые изменения (хотя их не было в вопросе, о котором идет речь) Теперь все остальные входные данные обновляются с их значениями «Отправлено», кроме даты

Если я вручную устанавливаю дату в 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" - означает, что значение записи установлено

Примечание: неопределенная переменная: DateCourse в / home /bitecons / bts.biteconsulting.co.za / v2 / editccr.php в строке 119 - как это может быть неопределенным, я просто определил его

NULL

Что, черт возьми, я делаю неправильно? Помимо использования 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>

Вызывается Prefill, затем отправляет форму

Я отслеживал, и у DateCourse есть данные, но при переходе на другую форму он "исчезает":

    if(!empty($_POST)) {
      $DateCourse = ($_POST["DateCourse"]);
      $CustName = ($_POST["CustName"]);
    }

Например, заполнено CustName, но не DateCourse?

Дополнительный вопрос:

Будет ли возвращено значение true, если не задана другая запись var (не связаннаяна этот):

    if(!empty($_POST)) 

Ответы [ 3 ]

0 голосов
/ 23 декабря 2019

Один из лучших способов - определить $ 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>
0 голосов
/ 23 декабря 2019

Ладно, извиняюсь, ребята, но это может помочь другим в будущем. У меня был вызов функции для старой функции - это не удалось, из-за чего моя переменная так и не была определена ... Я знал, что это было что-то глупое, но иногда нужна звуковая плата ...

0 голосов
/ 23 декабря 2019

Я думаю, что вы используете неправильный код, вы должны отправить первую форму, а затем использовать $ DateCourse это в другой форме в POSTBACK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...