Я не могу установить переменную из массива записей.
У меня есть простая форма со скрытым полем: <input name="sid" type="hidden" id="sid" value="<?=$sid?>">
Это скрытое поле отправляется во второй файл (exec.php), где у меня есть следующий код:
$sid = $_POST['sid'];
По какой-то причине при попытке установить $ sid он получает значение NULL.Для хаха я запустил следующее:
foreach($_POST as $var => $value)
{
echo $var . ' : ' . $value . "<br>";
}
Это дало правильное значение 1938 для sid.Я смотрел на это в течение 3 часов и не могу найти, что происходит.Я ожидаю чего-то чрезвычайно глупого ... какие-нибудь мысли?
Вот форма на enter.php
<form name="form1" method="post" action="exec.php">
<input name="sid" type="hidden" id="sid" value="<? echo($sid); ?>">
<input name="ticket_totals" type="hidden" id="ticket_totals" value="<?=$ticket_totals?>">
<input name="emp" type="hidden" id="emp" value="<?=$emp?>">
<input name="submit" type="submit" id="submit" value="Submit">
<input type="submit" name="submit" id="submit" value="Close">
</form>
Вот вывод POST на exec.php: type: Other ticket_totals: 0 emp: 105 sid: 1939 submit:Отправить
Хорошо - это был плохой синтаксис с моей стороны, но теперь мне любопытно, почему.
Я пропустил кавычки - решение так просто: $sid = $ _POST ["sid"]
Теперь это работает как чемпион.
Кто-нибудь спрашивает, почему?Я предполагаю, что в php.ini есть настройка, которая требует кавычек.Как ни странно, у меня есть другие переменные, вызванные из массива POST, для которых я не использую кавычки, и они работают нормально ...