【问题标题】:Casting $_POST to specific Int Javascript PHP将 $_POST 转换为特定的 Int Javascript PHP
【发布时间】:2016-09-21 07:28:53
【问题描述】:

我想知道是否有人可以帮助我解决一个小问题 - 单击表格行后,我正在使用 Javascript 从输入框中将 $_POST 传递到新选项卡,该函数将接受 $_POST['shift'] 作为 @987654323 @。但是,我的班次在一个数组中,因此我想将它们转换为整数。我检查$_POST 值的尝试失败了,它不会用正确的intval 填充下一页输入框——它默认为0。我已经包含了我的索引检查、函数和var 转储。任何帮助将不胜感激,也许我只是愚蠢。

if ( isset($_POST['shift'])) {
  $ShiftSelected =  intval($_POST['shift']);
} elseif ($_POST['shift'] == 'B') {
  $ShiftSelected = 1;
} else {
  $ShiftSelected = 0;
}

$(function() {
  $(".table-row").click(function() {
    $("#form").attr('action', '?action=HS');
    $("#selectDate").val($(this).data("date"));
    $("#selectShift").val($(this).data("shift"));
    $("#form").submit();
  }); 
});

array(4) {
  ["workcenter"]=> string(1) "0" 
  ["Week"]=> string(2) "38"
  ["date"]=> string(10) "16-09-2016"
  ["shift"]=>string(1) "B"
}

【问题讨论】:

  • 您可能会尝试在 PHP 中使用 chr()ord() - 在您的情况下,您更可能希望使用 ord('B') 来获取整数值
  • 值得一提,你的elseif($_POST['shift'] == 'B'){...}是无法访问的
  • 显然无法到达,早上太早了。已删除 intval,因为它是一个内部应用程序,用于显示船员 si 注射的信息并不是真正的问题。对于它的价值,我将在答案中进行编辑。

标签: javascript php function post isset


【解决方案1】:
$ShiftSelected = 0;

if (isset($_POST['shift'])) {
    if ($_POST['shift'] == 'B') {
        $ShiftSelected = 1;
    } elseif ($_POST['shift'] == 'A') {
        $ShiftSelected = 0;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    • 2010-10-04
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多