php $ _POST返回空数组

时间:2016-03-10 05:32:37

标签: javascript php forms post

我在这个论坛上为这个话题彻底尝试了很多方法,但我无法解决我的问题。

所以这就是问题所在。我无法从表单中返回$_POST值,但javascript' document.getElementById().value可以捕获表单值。

这是我的表单代码:

<form action="#" method="post" enctype="text/plain">
    <input id="input_date" name="input_date" class="datepicker" placeholder="Choose date" type="text"/>
    <input id="submit" name="submit" type="button" value="Submit here" onclick="Submit_date()"/>
</form>

这是我在同一个文件中的php代码:

$tanggal = date('yyyy-mm-dd', strtotime($_POST['input_date']));

这是我的javascript代码也在同一个文件中:

var tanggalan = document.getElementById("input_date").value;
confirm("Date1: " + tanggalan + 
"\n Date2: " + <?php echo json_encode($_POST['input_date'])?> + 
"\n Date3: " + <?php echo json_encode($tanggal)?>);

例如,表单已写入"2 March, 2016"Date1会返回我想要的内容,但Date2会返回"null"Date3会返回{{1} }}

我做错了什么?

2 个答案:

答案 0 :(得分:0)

"\n Date2: " + <?php echo json_encode($_POST['tanggal'])?>

Date2为null,因为您调用的$ _POST变量不存在。

$tanggal是一个变量而不是您在此处指定的$ _POST变量

$tanggal = date('yyyy-mm-dd', strtotime($_POST['input_date']));

让它$tanggal = $_POST['tanggal'] = date('yyyy-mm-dd', strtotime($_POST['input_date']));使其正常工作。

答案 1 :(得分:0)

删除enctype =&#34; text / plain&#34;并在表单中添加操作,以帮助您在提交表单时设置$ _POST。

另外,在PHP代码中使用以下内容以避免返回&#34; 70707070-0101-0101&#34;

$ tanggal = date(&#39; Y-m-d&#39;,strtotime($ _ POST [&#39; input_date&#39;]));